{"openapi":"3.0.0","info":{"version":"1.0.0","title":"elastic.io REST API documentation v2","description":"<https://api.elastic.io/docs/swagger.json>\n# Introduction\nWelcome to the [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer) API documentation v2. It adheres to the [JSON API](http://jsonapi.org) specifications:\n* Returns JSON-encoded responses (Content-Type: `application/json`),\n* Uses standard HTTP response codes\n* Uses authentication - **You can not use this API without registering at elastic.io platform to get the authentication credentials.**\n\n# Authentication\nWe use a standard [HTTP Basic Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication) mechanism to authenticate each API call with the elastic.io.\n*   `{EMAIL}` - **email address** you use to login to the platform.\n*   `{APIKEY}` - a unique **API Key** generated for you found in the profile settings page.\n\n# Errors\nWe adhere to REST API HTTP status codes. Read more about them here <https://restfulapi.net/http-status-codes/>\n","termsOfService":"https://www.elastic.io/tou/"},"servers":[{"url":"https://api.elastic.io/v2"}],"security":[{"basicAuth":[]}],"tags":[{"name":"vpn agents"},{"name":"auth clients","description":"To use an OAuth2 based Component in the platform it is required to register a client at the authorization server. Upon registration the authorization server issues the registered client an identifier (client ID) and a secret. These client credentials are used to create a client using the following API. Auth clients can be created on any level: tenant, contract or workspace which incapsulate each other (in order), i.e client created on tenant level is available to use for creating secrets in any workspace of the tenant.\n"},{"name":"auth secrets"},{"name":"contracts","description":"A Contract is a fundamental entity (scope) that reflects an agreement between a customer and the platform’s provider. The Contract scope can have an unlimited number of members, workspaces, and development teams. It also serves as a singular entity for the billing department against the consumed resources by all the integration flows. Every member of the Contract’s scope has a specific access level or role within the current Contract. The same user can have different roles in different Contracts within the Platform. Every Contract must have at least one Owner. The Owner’s Role has a predefined/default permissions’ set. It means this role cannot be deleted and the permissions’ set cannot be changed.\n"},{"name":"components"},{"name":"credentials"},{"name":"data samples"},{"name":"topics","description":"The Topic is a JSON schema to be used to communicate publisher and many subscribers.\n"},{"name":"runtime quota usages"},{"name":"quota usages"},{"name":"quota limits"},{"name":"scheduled executions"},{"name":"snapshots","description":"This group of API endpoints allows you to work with snapshots feature of the Platform. The feature enables taking snapshots for all steps in a Flow. Also, it allows you to get/create/edit/remove snapshots individually for steps.\n**Data model** every step in Flow can have associated persistent data. Step identifier is used as identifier of snapshot. Data may be anything serializable in JSON, except undefined.\n**Notice** snapshot is flow's runtime data. So it's forbidden to edit snapshots while flow is running.\n"},{"name":"sshkeys"},{"name":"flows"},{"name":"flow versions"},{"name":"flow drafts"},{"name":"logs"},{"name":"recipes"},{"name":"recipe deployments","description":"This group of API endpoints allows you to work with recipe deployments. \nRecipe deployment describes recipe activation process ans has information about which flows was created during recipe activation and what activation parameters was used.\n"},{"name":"resources"},{"name":"stats"},{"name":"teams"},{"name":"permissions"},{"name":"tenants","description":"Tenant is a specific system's environment virtual installation (a system's clone, basically) that allows customizing all the necessary parameters by sending a particular request to the API.\n"},{"name":"users"},{"name":"workspaces","description":"A Workspace is a space where every user can work on an integration project independently or in collaboration with other users. Each Workspace can have more than one member. All members of a Workspace have certain roles that define user permissions. To get all available roles, please execute the “Get the Contract’s roles” endpoint. There is one predefined role - Workspace Owner. This role gives the holder all the rights within the Workspace unit, it cannot be deleted and the permissions set cannot be changed. Each role is limited to the given Workspace only. The same user in the platform can have different roles in different Workspaces."}],"paths":{"/agents/vpn":{"get":{"tags":["vpn agents"],"summary":"Lists all vpn agents for the specified workspace","description":"You have to be a member of specified workspace","parameters":[{"in":"query","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["vpn-agent"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/agents/vpn/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","status","port_mapping","client_ip","last_seen"],"properties":{"name":{"type":"string","description":"VPN Agent name","example":"My Agent"},"status":{"type":"string","readOnly":true,"example":"online"},"port_mapping":{"type":"array","items":{"type":"object","required":["port","protocol","destination_port","destination_ip"],"properties":{"port":{"type":"integer","readOnly":true,"example":1052},"protocol":{"type":"string","description":"Traffic transfer protocol","enum":["tcp","udp"]},"destination_port":{"type":"integer","description":"Destination Port for traffic","example":3306},"destination_ip":{"type":"string","description":"Destination IP for traffic","example":"133.164.183.134"}}}},"client_ip":{"type":"string","readOnly":true,"example":null},"last_seen":{"type":"string","readOnly":true,"example":null}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}},"post":{"tags":["vpn agents"],"summary":"Creates a vpn agent","description":"You have to be a member of specified workspace","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["vpn-agent"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/agents/vpn/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","status","port_mapping","client_ip","last_seen"],"properties":{"name":{"type":"string","description":"VPN Agent name","example":"My Agent"},"status":{"type":"string","readOnly":true,"example":"online"},"port_mapping":{"type":"array","items":{"type":"object","required":["port","protocol","destination_port","destination_ip"],"properties":{"port":{"type":"integer","readOnly":true,"example":1052},"protocol":{"type":"string","description":"Traffic transfer protocol","enum":["tcp","udp"]},"destination_port":{"type":"integer","description":"Destination Port for traffic","example":3306},"destination_ip":{"type":"string","description":"Destination IP for traffic","example":"133.164.183.134"}}}},"client_ip":{"type":"string","readOnly":true,"example":null},"last_seen":{"type":"string","readOnly":true,"example":null}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["vpn-agent"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/agents/vpn/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","status","port_mapping","client_ip","last_seen"],"properties":{"name":{"type":"string","description":"VPN Agent name","example":"My Agent"},"status":{"type":"string","readOnly":true,"example":"online"},"port_mapping":{"type":"array","items":{"type":"object","required":["port","protocol","destination_port","destination_ip"],"properties":{"port":{"type":"integer","readOnly":true,"example":1052},"protocol":{"type":"string","description":"Traffic transfer protocol","enum":["tcp","udp"]},"destination_port":{"type":"integer","description":"Destination Port for traffic","example":3306},"destination_ip":{"type":"string","description":"Destination IP for traffic","example":"133.164.183.134"}}}},"client_ip":{"type":"string","readOnly":true,"example":null},"last_seen":{"type":"string","readOnly":true,"example":null}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/agents/vpn/{vpn-agent_id}":{"get":{"tags":["vpn agents"],"summary":"Returns the specified vpn agent.","description":"You have to be a member of workspace","parameters":[{"in":"path","name":"vpn-agent_id","description":"VPN agent identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["vpn-agent"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/agents/vpn/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","status","port_mapping","client_ip","last_seen"],"properties":{"name":{"type":"string","description":"VPN Agent name","example":"My Agent"},"status":{"type":"string","readOnly":true,"example":"online"},"port_mapping":{"type":"array","items":{"type":"object","required":["port","protocol","destination_port","destination_ip"],"properties":{"port":{"type":"integer","readOnly":true,"example":1052},"protocol":{"type":"string","description":"Traffic transfer protocol","enum":["tcp","udp"]},"destination_port":{"type":"integer","description":"Destination Port for traffic","example":3306},"destination_ip":{"type":"string","description":"Destination IP for traffic","example":"133.164.183.134"}}}},"client_ip":{"type":"string","readOnly":true,"example":null},"last_seen":{"type":"string","readOnly":true,"example":null}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["vpn agents"],"summary":"Update the specified vpn agent","description":"You have to be a member of workspace","parameters":[{"in":"path","name":"vpn-agent_id","description":"VPN agent identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","description":"VPN agent identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["vpn-agent"]},"attributes":{"type":"object","required":["name","status","port_mapping","client_ip","last_seen"],"properties":{"name":{"type":"string","description":"VPN Agent name","example":"My Agent"},"status":{"type":"string","readOnly":true,"example":"online"},"port_mapping":{"type":"array","items":{"type":"object","required":["port","protocol","destination_port","destination_ip"],"properties":{"port":{"type":"integer","readOnly":true,"example":1052},"protocol":{"type":"string","description":"Traffic transfer protocol","enum":["tcp","udp"]},"destination_port":{"type":"integer","description":"Destination Port for traffic","example":3306},"destination_ip":{"type":"string","description":"Destination IP for traffic","example":"133.164.183.134"}}}},"client_ip":{"type":"string","readOnly":true,"example":null},"last_seen":{"type":"string","readOnly":true,"example":null}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["vpn-agent"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/agents/vpn/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","status","port_mapping","client_ip","last_seen"],"properties":{"name":{"type":"string","description":"VPN Agent name","example":"My Agent"},"status":{"type":"string","readOnly":true,"example":"online"},"port_mapping":{"type":"array","items":{"type":"object","required":["port","protocol","destination_port","destination_ip"],"properties":{"port":{"type":"integer","readOnly":true,"example":1052},"protocol":{"type":"string","description":"Traffic transfer protocol","enum":["tcp","udp"]},"destination_port":{"type":"integer","description":"Destination Port for traffic","example":3306},"destination_ip":{"type":"string","description":"Destination IP for traffic","example":"133.164.183.134"}}}},"client_ip":{"type":"string","readOnly":true,"example":null},"last_seen":{"type":"string","readOnly":true,"example":null}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["vpn agents"],"summary":"Remove the specified vpn agent.","description":"You have to be a member of workspace","parameters":[{"in":"path","name":"vpn-agent_id","description":"VPN agent identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/agents/vpn/{vpn-agent_id}/config":{"get":{"tags":["vpn agents"],"summary":"Returns the config of the specified vpn agent.","description":"You have to be a member of workspace","parameters":[{"in":"path","name":"vpn-agent_id","description":"VPN agent identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","example":"client\ndev tun\nproto tcp\nremote agent-some_tenant_url.io\nrport 443\nnobind\npersist-key\npersist-tun\nverb 5\nmssfix 1420\ntun-mtu 1460\npull\ncompress lz4-v2\ncipher AES-256-GCM\nauth-nocache\nresolv-retry 5\nscript-security 2\n# TLS Authentication\nremote-cert-tls server\ntls-client\n<key>\n-----BEGIN PRIVATE KEY-----\n  MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5If0j3ocQrWPJ\n  tOXjITNOcu9tQNp8kZBtkeLEgaXFbZH7DtSZiQcIcnbmFTFGRY9clkyRZwXU3RBR\n  PEWDszeM7CKGwwEDAa5nNTTINt3o6X2Kt1nSBMcByJUQGzCHpkwTyZmv7VZcJ9k7\n  fKbLB/XcIs7WbWdKhp2UtQWF5pSPcomND8YTpxrD0K/nl3jARwhvj4CykSCOQHuE\n  9J9RfrvW0o0lp2+LSu/Qqbdv+Jo4FAZ29SQNT/qXldSwNZ2dX5VUtHYXrbhAH2C6\n  l4mtwP7CBy/RDotRe256wl1ncLiDBvmgyxys4Opg6xA1FO3rYwfM6gJKS0bLJ9n2\n  BfoOqNtHAgMBAAECggEAHXAXJX378h3wESHPsDcWRnImOjQmycoHsjSRX3fSGTuc\n  C9TG34cXdDNnTpyuEiN7cViA4loEZl2ke5Ze41s7CRB/SPh3D7hTuBuQwglfbeq6\n  yLTw9mFGF7WCZmY8aEV8MWVMJ9pQciTv+PKQPxaL9K4gP55z3zjak8vZDfqlQs3J\n  C+IqxrJCFzF8tOG02JR8OXcfB6gVr3zAzmmCcWY/L35qsdxFrD8RhQqDMtRFhUTk\n  QGlFC5pGt5QBjoyXxw5K9p4dmcGKWx0HGPLfmAiKkPDY3RuPeR/BvQAS9Bry1pvU\n  aiETuXN4QGqFk14+NudtSQF8czo5oEoFMXnorCxYAQKBgQDyCyyKJWIURShsexq9\n  E/8APhE7SFbLaNmUfDJuqAGy+IlhhHLyYlmN2sZoWCNWgTFT6kB+dM6o9atzCJH1\n  uGmRiWxp0UwurGHw7PAO4vmN7XdHffPjpKwyS9NMV5WrV/sxr087JKTr0y2l7STA\n  v4+SRxaNCCs1thBAVEjJZ1ZUAQKBgQDDzr+r1MtIWDKYgrWJLun/vnF10KPI+/ko\n  8K0kCZjtT9awczf9HD+t9t6o/taO0sHwQF3xaKrs6paCtOz6BsMECruf5NOq0rec\n  BbbLnaX98upQfBHFwFVqsTxA4xlmmTUGwk43f9pHaygnV4q64zfnZiqU5/PHOZsK\n  LhSwkMuPRwKBgBv57Kj/DyoWoEiBpiKKqCPICMfYYafbM6L1BANESgX8sixiWcLo\n  WT+LNPmkjlkWT7RKVDAJokVnN+zw5aYILbOTtcM5XNvcMundCRY/Z+betrW9ui3q\n  v7iEiSS+zt7iKXehsr+8SY+0dgdCtMfOnHKk4tdkRVJM++3jkBIvbowBAoGAGMJo\n  7DJxLgmxBCXrDJi5EBSlxi8GtuBdxjaAvkDUbJWe4RsApmnPB5Fi4F2xBchSq62H\n  84G3s1OKiqaUHJ2ERVuSFArcVQpmGz2BuseJeM4hoOG/YZELe/1DUDUnPhj7Yopp\n  k408LbG4FxlzumQG6qS5l7Co27VGDIh9J0J36vsCgYAnisFIqqB5oYmpzTLXVWxi\n  V4q9FuT008UE9ekVUBqbl/EWWJbBXceegLVvl10MOTR1WWz+gf1g5RPp5T11WWo6\n  Q/5DEqLd5krt1Ed1gJXi4mbxvK//lMWc+jlLu1Agg3YdUfSo5POxyNerP84SEgxw\n  iTEHriLEo/TMi57th/e8Vw==\n  -----END PRIVATE KEY-----\n    </key>\n    <ca>\n    -----BEGIN CERTIFICATE-----\n    MIIDyzCCArOgAwIBAgIUbVRVVIWBjwtuhX5PmRQ5aI12peowDQYJKoZIhvcNAQEL\n    BQAwdTELMAkGA1UEBhMCREUxEzARBgNVBAoMCmVsYXN0aWMuaW8xJDAiBgNVBAMM\n    G2NhLmFnZW50LXNwYXJyb3cuZWxhc3RpYy5pbzEcMBoGA1UECAwTTm9yZHJoZWlu\n    LVdlc3RmYWxlbjENMAsGA1UEBwwEQm9ubjAeFw0yMDAxMjkxMjQyNTVaFw0zMDAx\n    MjYxMjQyNTVaMHUxCzAJBgNVBAYTAkRFMRMwEQYDVQQKDAplbGFzdGljLmlvMSQw\n    IgYDVQQDDBtjYS5hZ2VudC1zcGFycm93LmVsYXN0aWMuaW8xHDAaBgNVBAgME05v\n    cmRyaGVpbi1XZXN0ZmFsZW4xDTALBgNVBAcMBEJvbm4wggEiMA0GCSqGSIb3DQEB\n    AQUAA4IBDwAwggEKAoIBAQDJ4E2zIG5qXqm6AcmEpsMhhsSxAoBLROPGQdMYIf6v\n    nXvL+EY1rwJcbjIzut3+2p4N0Dyp58k3i3CD+vZBQn2k785dwcPW+6RjIlFW7mOP\n    9oZqrQNSUCl3uuDcsLgtieOWDY04jGVXA4SDnNnLg0lkkDC6hTKky9tGK6uwNPWe\n    J1i7hPgRni0Qc8o07U089nMW+1GHq5nG1KYpWK1ZCdjiOnNeWnbEcungnaLKzGdq\n    aW8Rirs+15bQVHZ5y/6/owmP24mfuv7Jpcbyw4Ky5Loeq48E4jl/V0Wsdb0d1KT1\n    fPavYZoa0NQWSK6QcJSCeG90vLja4N2w/Okx0WDI8Kf7AgMBAAGjUzBRMB0GA1Ud\n    DgQWBBR22VGIRITPzvnUp9YTW7cZNfMq5jAfBgNVHSMEGDAWgBR22VGIRITPzvnU\n    p9YTW7cZNfMq5jAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBb\n    HCdVjMeTuqcIBIHmqQsqmtKRhe5IawdWxLHbyZdj6P94A9WhO4x+3Tb03BOJ/np8\n    /DDJgnbNw9aeLa//VC79uzspNZHsNwx/6l8sdvkRJRvUTymDqxTIKh9/yaFxTa0w\n    OAh3rr21zyo6FWlHTV+bDGJzL81gvJvRBWJhnFiLTaIh38YKEG8bBg6/8qxPc9c/\n    GNMhKodPhssvMrYiwjJdQpRT/1SRcouy8rr3c712uFts+1H3nXMzsyz0w5zuJIdV\n    4WoSkf/qnkseUSEAQkAvWcFKGO6XMFEMj3k5RWV1vbW1z3zC3KlnQfK4Og3W9ce7\n    ZkMLpZNfkWxRiiE2RihO\n    -----END CERTIFICATE-----\n\n    </ca>\n    <cert>\n    -----BEGIN CERTIFICATE-----\n    MIIEPDCCAySgAwIBAgIVALchd8xNcBgml6CkIJuHgnwjdbHmMA0GCSqGSIb3DQEB\n    CwUAMHUxCzAJBgNVBAYTAkRFMRMwEQYDVQQKDAplbGFzdGljLmlvMSQwIgYDVQQD\n    DBtjYS5hZ2VudC1zcGFycm93LmVsYXN0aWMuaW8xHDAaBgNVBAgME05vcmRyaGVp\n    bi1XZXN0ZmFsZW4xDTALBgNVBAcMBEJvbm4wHhcNMjExMjE1MTgzNDU4WhcNMjMx\n    MjE1MTgzNDU4WjByMQswCQYDVQQGEwJERTEcMBoGA1UECAwTTm9yZHJoZWluLVdl\n    c3RmYWxlbjETMBEGA1UECgwKZWxhc3RpYy5pbzENMAsGA1UEBwwEQm9ubjEhMB8G\n    A1UEAwwYNjFiYTM1NTIwNzIzNWUwMDEyODIzNTI4MIIBIjANBgkqhkiG9w0BAQEF\n    AAOCAQ8AMIIBCgKCAQEAuSH9I96HEK1jybTl4yEzTnLvbUDafJGQbZHixIGlxW2R\n    +w7UmYkHCHJ25hUxRkWPXJZMkWcF1N0QUTxFg7M3jOwihsMBAwGuZzU0yDbd6Ol9\n    irdZ0gTHAciVEBswh6ZME8mZr+1WXCfZO3ymywf13CLO1m1nSoadlLUFheaUj3KJ\n    jQ/GE6caw9Cv55d4wEcIb4+AspEgjkB7hPSfUX671tKNJadvi0rv0Km3b/iaOBQG\n    dvUkDU/6l5XUsDWdnV+VVLR2F624QB9gupeJrcD+wgcv0Q6LUXtuesJdZ3C4gwb5\n    oMscrODqYOsQNRTt62MHzOoCSktGyyfZ9gX6DqjbRwIDAQABo4HFMIHCMAkGA1Ud\n    EwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NM\n    IEdlbmVyYXRlZCBDbGllbnQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFJFydPK6xYab\n    8TPNX3S1UEpmO744MB8GA1UdIwQYMBaAFHbZUYhEhM/O+dSn1hNbtxk18yrmMA4G\n    A1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwDQYJ\n    KoZIhvcNAQELBQADggEBAEYDQOuetzbU3PhiejDbTSJlgk8FMLXmNC7vnKbn5rpA\n    NEligG79L27kB61+F0z4Qgrt9GJclFxRIHuRlwJXcsUSRvCeMRE3OXrMbFmdyAbk\n    c2kSxyo8QflbbvFlnzA9ezdW+JhNl38fL+3As23r3xNZeqnFE94bTRBeFO/UCz9a\n    k6GseGApk46KQ1KlnWGm/LrGZsQMIUW2oLebRvUHhCvA/IGzAWiwgLwivOMNic33\n    zxkBm2PLFEEDOuSjTyq22hutIpv3HxXueAjrIDsXuayb0IGDPCS2SE1DvXN+Bib2\n    iKWBlXyBbfia/nogPkRVpf7zK8OXGMEPV2XQn/56+xE=\n    -----END CERTIFICATE-----\n\n    </cert>\n    key-direction 1\n    <tls-auth>\n    #\n    # 2048 bit OpenVPN static key\n    #\n    -----BEGIN OpenVPN Static key V1-----\n    e2da664496705180c6657a083355b9be\n    0e8e2072fbfc457e2f61fae6037b7b30\n    c3be3fea4fd26b8be3fbc58520f8ba4a\n    2e14ac6473f3dc5f1fbee543af61745d\n    3772221cd1ae3f2833c1ab27ef90f507\n    5d74024e081643232807c0a570372a04\n    190d25969af555d89f78ca4ea652460e\n    2373a947475958a86010266b499deaa9\n    7cef234f76ee016fd971cd550b2bd67a\n    c7be36787e5efacd7b5c3b58ead8ee85\n    14ed53454ce03af2585706126e674ff1\n    03827a6d622d73d33352a951f07724b6\n    8140c0914ee6d478d9c4bd16c0bae3e5\n    116d2fc028f7aa57007eb3e829cf5f43\n    b27804a6d8c86ac84e94b9d1c1240c2c\n    a2e3ac436eb78e1b8f02b788faf7de9d\n    -----END OpenVPN Static key V1-----\n\n    </tls-auth>\n"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/auth-clients":{"get":{"tags":["auth clients"],"summary":"Lists all auth clients","description":"You need one of the `global.auth_clients.get`, `tenants.auth_clients.get`, `contracts.auth_clients.get` or `workspaces.auth_clients.get` permission to access this resource. Each permission allows to list auth clients in particular scope inclusively: `global.auth_clients.get` allows to list global clients, `tenants.auth_clients.get` allows to list global and tenant’s clients, `contracts.auth_clients.get` allows to list global, tenant’s and all tenant’s contracts clients, `workspaces.auth_clients.get` allows to list all global, tenant’s, contracts’ and workspaces’ clients.\n","parameters":[{"in":"query","name":"filter[component]","description":"Filter the auth clients only for specific component. Must be identifier of component","schema":{"type":"string"}},{"in":"query","name":"workspace_id","description":"Show auth clients available in the given workpspace (including contract’s, tenant’s and global auth-clients).  Only one of `workspace_id`, `contract_id`, `tenant_id` can be specified at time. If none these of parameters is specified only global clients will be returned.","schema":{"type":"string"}},{"in":"query","name":"contract_id","description":"Show Auth Clients available in the given contract (including tenant’s and global auth-clients).","schema":{"type":"string"}},{"in":"query","name":"tenant_id","description":"Show Auth Clients available in the given tenant and global scope.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-client`\n","enum":["auth-client"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/auth-clients/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth client","example":"Auth client name"},"type":{"type":"string","description":"Auth client type","enum":["oauth2","oauth2_instagram","basic","api_key","noauth"]},"credentials":{"type":"object","oneOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"allOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"type":"object","description":"Only for type of auth client `oauth2_instagram`","required":["exchange_token_uri"],"properties":{"exchange_token_uri":{"type":"string","description":"Auth client exchange token URI","example":"https://www.googleapis.com/oauth2/v4/exchange-token"}}}]},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]}}},"relationships":{"type":"object","oneOf":[{"type":"object","required":["components","workspace"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}}}},{"type":"object","required":["components","contract"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `contract`","enum":["contract"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components","tenant"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Tenant identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `tenant`","enum":["tenant"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}]}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}},"post":{"tags":["auth clients"],"summary":"Creates an auth client","description":"You need one of the `global.auth_clients.get`, `tenants.auth_clients.get`, `contracts.auth_clients.get` or `workspaces.auth_clients.get` permission to access this resource. Scope where client is created is controlled by corresponding permission and relationship: `workspace`, `contract` or `tenant`. No relationship means that auth-client will be created in the global scope.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-client`\n","enum":["auth-client"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/auth-clients/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth client","example":"Auth client name"},"type":{"type":"string","description":"Auth client type","enum":["oauth2","oauth2_instagram","basic","api_key","noauth"]},"credentials":{"type":"object","oneOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"allOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"type":"object","description":"Only for type of auth client `oauth2_instagram`","required":["exchange_token_uri"],"properties":{"exchange_token_uri":{"type":"string","description":"Auth client exchange token URI","example":"https://www.googleapis.com/oauth2/v4/exchange-token"}}}]},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]}}},"relationships":{"type":"object","oneOf":[{"type":"object","required":["components","workspace"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}}}},{"type":"object","required":["components","contract"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `contract`","enum":["contract"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components","tenant"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Tenant identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `tenant`","enum":["tenant"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}]}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-client`\n","enum":["auth-client"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/auth-clients/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth client","example":"Auth client name"},"type":{"type":"string","description":"Auth client type","enum":["oauth2","oauth2_instagram","basic","api_key","noauth"]},"credentials":{"type":"object","oneOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"allOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"type":"object","description":"Only for type of auth client `oauth2_instagram`","required":["exchange_token_uri"],"properties":{"exchange_token_uri":{"type":"string","description":"Auth client exchange token URI","example":"https://www.googleapis.com/oauth2/v4/exchange-token"}}}]},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]}}},"relationships":{"type":"object","oneOf":[{"type":"object","required":["components","workspace"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}}}},{"type":"object","required":["components","contract"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `contract`","enum":["contract"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components","tenant"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Tenant identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `tenant`","enum":["tenant"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}]}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/auth-clients/{auth-client_id}":{"get":{"tags":["auth clients"],"summary":"Returns the specified auth client.","description":"You need one of the `global.auth_clients.get`, `tenants.auth_clients.get`, `contracts.auth_clients.get` or `workspaces.auth_clients.get` permission to access this resource. Each permission allows to get auth client in particular scope inclusively: `global.auth_clients.get` allows to get global client, `tenants.auth_clients.get` allows to get global and tenant’s clients, `contracts.auth_clients.get` allows to get global, tenant’s and all tenant’s contracts clients, `workspaces.auth_clients.get` allows to get global, tenant’s, contracts’ and workspaces’ clients. `auth_clients.get` permissions are also used to authorize access to auth client’s credentials field: one can see auth client’s credential only if client’s scope and permission’s scope match, i.e. credentials of tenant’s auth client are visible for users only with `tenants.auth_clients.get` permissions, though tenant auth client itself is visible for users with `workspaces.auth_clients.get`.\nTo specify scope of request one of `workspace_id`, `contract_id` or `tenant_id` query parameters is used. For example, tenant auth client can be retrieved by id if user has `workspaces.auth_clients.get` permission in one of the tenant’s workspaces, so to specify those workspace `workspace_id` query parameter is used, without scope parameter you can get only global client. In case if the user tries to get not a global client and doesn’t specify the query parameter - such request will be rejected, as permission can’t be checked.\n","parameters":[{"in":"path","name":"auth-client_id","description":"Auth client identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"workspace_id","description":"Show auth clients available in the given workpspace (including contract’s, tenant’s and global auth-clients).  Only one of `workspace_id`, `contract_id`, `tenant_id` can be specified at time. If none these of parameters is specified only global clients will be returned.","schema":{"type":"string"}},{"in":"query","name":"contract_id","description":"Show Auth Clients available in the given contract (including tenant’s and global auth-clients).","schema":{"type":"string"}},{"in":"query","name":"tenant_id","description":"Show Auth Clients available in the given tenant and global scope.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-client`\n","enum":["auth-client"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/auth-clients/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth client","example":"Auth client name"},"type":{"type":"string","description":"Auth client type","enum":["oauth2","oauth2_instagram","basic","api_key","noauth"]},"credentials":{"type":"object","oneOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"allOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"type":"object","description":"Only for type of auth client `oauth2_instagram`","required":["exchange_token_uri"],"properties":{"exchange_token_uri":{"type":"string","description":"Auth client exchange token URI","example":"https://www.googleapis.com/oauth2/v4/exchange-token"}}}]},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]}}},"relationships":{"type":"object","oneOf":[{"type":"object","required":["components","workspace"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}}}},{"type":"object","required":["components","contract"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `contract`","enum":["contract"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components","tenant"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Tenant identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `tenant`","enum":["tenant"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}]}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["auth clients"],"summary":"Update the specified auth client","description":"You have to be a member with appropriate permission to access this resource. This resource allows you to update the auth client. If the auth client with type `oauth2` then you can update `name`, `client_secret`, `token_expires_in` and linked components, otherwise if the type is other, then you can put in credentials any data that you want and add components which can use this auth client.\n","parameters":[{"in":"path","name":"auth-client_id","description":"Auth client identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","description":"Auth client identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value `auth-client`.","enum":["auth-client"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Auth client name","example":"Auth client name"},"credentials":{"type":"object","oneOf":[{"type":"object","properties":{"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600}}},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]}}},"relationships":{"type":"object","required":["components"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-client`\n","enum":["auth-client"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/auth-clients/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth client","example":"Auth client name"},"type":{"type":"string","description":"Auth client type","enum":["oauth2","oauth2_instagram","basic","api_key","noauth"]},"credentials":{"type":"object","oneOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"allOf":[{"type":"object","description":"Only for type of auth client `oauth2`","required":["client_id","client_secret","refresh_token_uri","token_uri","auth_uri"],"properties":{"client_id":{"type":"string","description":"Client identifier of auth client","example":"327193566714-99k85u8op9i10upjf8raus0aqjmtj.apps.googleusercontent.com"},"client_secret":{"type":"string","description":"Client secret of auth client","example":"wryIpa3vltT4GttJOQSKo3eo"},"refresh_token_uri":{"type":"string","description":"Auth client refresh token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"token_expires_in":{"type":"integer","description":"The value that will be set as `expires_in` in auth secret linked to the auth client after auth secret refresh, if auth secret does not contain it.","default":3600},"token_uri":{"type":"string","description":"Auth client token URI","example":"https://www.googleapis.com/oauth2/v4/token"},"auth_uri":{"type":"string","description":"Auth client auth URI","example":"https://www.googleapis.com/oauth2/v2/auth"}}},{"type":"object","description":"Only for type of auth client `oauth2_instagram`","required":["exchange_token_uri"],"properties":{"exchange_token_uri":{"type":"string","description":"Auth client exchange token URI","example":"https://www.googleapis.com/oauth2/v4/exchange-token"}}}]},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]}}},"relationships":{"type":"object","oneOf":[{"type":"object","required":["components","workspace"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}}}},{"type":"object","required":["components","contract"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `contract`","enum":["contract"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["components","tenant"],"properties":{"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `component`","enum":["component"]}}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Tenant identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `tenant`","enum":["tenant"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}]}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["auth clients"],"summary":"Remove the specified auth client.","description":"You have to be a member with appropriate permission to access this resource.\n","parameters":[{"in":"path","name":"auth-client_id","description":"Auth client identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/secrets":{"get":{"tags":["auth secrets"],"summary":"Lists all auth secrets of the specified workspace","description":"You need `workspaces.auth_secret.get` permission to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-secret`\n","enum":["auth-secret"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/secrets/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","state","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth secret","example":"Secret name"},"state":{"type":"string","description":"Auth secret state","enum":["ready","error"]},"credentials":{"type":"object","oneOf":[{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Auth secret access token","example":"ya29.a0AfH6SMC9aSZhds2dg3VpULECqzajjDE0qlyGDFfgxnBn8cwfj9cg_THWIpxPUSMsDcn70Obx_WwxXBQYfT8edbAIRJIsCiueyki6iTWA_DADbEx3n5vRU-pCXjSTav9s7Q"},"refresh_token":{"type":"string","description":"Auth secret refresh token","example":"1//09cZWQ81C9F_-CgYIARAkSNwF-L9IrvRAYXy5RuPko6rRwzxfYPVykQep6cK7rUdHHSXIhiRw3fbZf3ReCI4DNuQStH_4JL2Y"},"expires_in":{"type":"integer","description":"Auth secret expired period. If not specified and `auth-client` is `oauth2` then the value will be taken from `token_expires_in` of linked `auth-client`. The value is set in seconds.","example":60},"additional_params":{"type":"string","description":"Auth secret additional parameters","example":"access_type:offline,prompt:consent"},"scope":{"type":"string","description":"Auth secret scope","example":"https://www.googleapis.com/auth/spreadsheets"},"fields":{"type":"object","description":"If component has OAuthFieldView in component.json you can define additional fields in auth-secret for storing data","properties":{"base_url":{"type":"string","example":"https://example.com"}}}}},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]},"type":{"type":"string","readOnly":true,"example":"oauth2"},"error":{"type":"string","description":"Auth secret error","example":"Auth secret refreshing error"}}},"relationships":{"type":"object","required":["workspace","user","auth_client"],"properties":{"workspace":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"auth_client":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["auth-client"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/auth-clients/5b4f337bff4304610483ba67"}}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["auth secrets"],"summary":"Creates an auth secret","description":"You need `workspaces.auth_secret.create` permission to access this resource. If related auth client has type `oauth2` then `credentials` object must contain properties `access_token`, `refresh_token`, otherwise if the type is other, then you can put in `credentials` any data that you want.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-secret`\n","enum":["auth-secret"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/secrets/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","state","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth secret","example":"Secret name"},"state":{"type":"string","description":"Auth secret state","enum":["ready","error"]},"credentials":{"type":"object","oneOf":[{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Auth secret access token","example":"ya29.a0AfH6SMC9aSZhds2dg3VpULECqzajjDE0qlyGDFfgxnBn8cwfj9cg_THWIpxPUSMsDcn70Obx_WwxXBQYfT8edbAIRJIsCiueyki6iTWA_DADbEx3n5vRU-pCXjSTav9s7Q"},"refresh_token":{"type":"string","description":"Auth secret refresh token","example":"1//09cZWQ81C9F_-CgYIARAkSNwF-L9IrvRAYXy5RuPko6rRwzxfYPVykQep6cK7rUdHHSXIhiRw3fbZf3ReCI4DNuQStH_4JL2Y"},"expires_in":{"type":"integer","description":"Auth secret expired period. If not specified and `auth-client` is `oauth2` then the value will be taken from `token_expires_in` of linked `auth-client`. The value is set in seconds.","example":60},"additional_params":{"type":"string","description":"Auth secret additional parameters","example":"access_type:offline,prompt:consent"},"scope":{"type":"string","description":"Auth secret scope","example":"https://www.googleapis.com/auth/spreadsheets"},"fields":{"type":"object","description":"If component has OAuthFieldView in component.json you can define additional fields in auth-secret for storing data","properties":{"base_url":{"type":"string","example":"https://example.com"}}}}},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]},"type":{"type":"string","readOnly":true,"example":"oauth2"},"error":{"type":"string","description":"Auth secret error","example":"Auth secret refreshing error"}}},"relationships":{"type":"object","required":["workspace","user","auth_client"],"properties":{"workspace":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"auth_client":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["auth-client"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/auth-clients/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-secret`\n","enum":["auth-secret"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/secrets/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","state","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth secret","example":"Secret name"},"state":{"type":"string","description":"Auth secret state","enum":["ready","error"]},"credentials":{"type":"object","oneOf":[{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Auth secret access token","example":"ya29.a0AfH6SMC9aSZhds2dg3VpULECqzajjDE0qlyGDFfgxnBn8cwfj9cg_THWIpxPUSMsDcn70Obx_WwxXBQYfT8edbAIRJIsCiueyki6iTWA_DADbEx3n5vRU-pCXjSTav9s7Q"},"refresh_token":{"type":"string","description":"Auth secret refresh token","example":"1//09cZWQ81C9F_-CgYIARAkSNwF-L9IrvRAYXy5RuPko6rRwzxfYPVykQep6cK7rUdHHSXIhiRw3fbZf3ReCI4DNuQStH_4JL2Y"},"expires_in":{"type":"integer","description":"Auth secret expired period. If not specified and `auth-client` is `oauth2` then the value will be taken from `token_expires_in` of linked `auth-client`. The value is set in seconds.","example":60},"additional_params":{"type":"string","description":"Auth secret additional parameters","example":"access_type:offline,prompt:consent"},"scope":{"type":"string","description":"Auth secret scope","example":"https://www.googleapis.com/auth/spreadsheets"},"fields":{"type":"object","description":"If component has OAuthFieldView in component.json you can define additional fields in auth-secret for storing data","properties":{"base_url":{"type":"string","example":"https://example.com"}}}}},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]},"type":{"type":"string","readOnly":true,"example":"oauth2"},"error":{"type":"string","description":"Auth secret error","example":"Auth secret refreshing error"}}},"relationships":{"type":"object","required":["workspace","user","auth_client"],"properties":{"workspace":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"auth_client":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["auth-client"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/auth-clients/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/secrets/{secret_id}":{"get":{"tags":["auth secrets"],"summary":"Returns the specified auth secret from the defined workspace.","description":"You need `workspaces.auth_secret.get` permission to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"secret_id","description":"Auth secret identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-secret`\n","enum":["auth-secret"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/secrets/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","state","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth secret","example":"Secret name"},"state":{"type":"string","description":"Auth secret state","enum":["ready","error"]},"credentials":{"type":"object","oneOf":[{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Auth secret access token","example":"ya29.a0AfH6SMC9aSZhds2dg3VpULECqzajjDE0qlyGDFfgxnBn8cwfj9cg_THWIpxPUSMsDcn70Obx_WwxXBQYfT8edbAIRJIsCiueyki6iTWA_DADbEx3n5vRU-pCXjSTav9s7Q"},"refresh_token":{"type":"string","description":"Auth secret refresh token","example":"1//09cZWQ81C9F_-CgYIARAkSNwF-L9IrvRAYXy5RuPko6rRwzxfYPVykQep6cK7rUdHHSXIhiRw3fbZf3ReCI4DNuQStH_4JL2Y"},"expires_in":{"type":"integer","description":"Auth secret expired period. If not specified and `auth-client` is `oauth2` then the value will be taken from `token_expires_in` of linked `auth-client`. The value is set in seconds.","example":60},"additional_params":{"type":"string","description":"Auth secret additional parameters","example":"access_type:offline,prompt:consent"},"scope":{"type":"string","description":"Auth secret scope","example":"https://www.googleapis.com/auth/spreadsheets"},"fields":{"type":"object","description":"If component has OAuthFieldView in component.json you can define additional fields in auth-secret for storing data","properties":{"base_url":{"type":"string","example":"https://example.com"}}}}},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]},"type":{"type":"string","readOnly":true,"example":"oauth2"},"error":{"type":"string","description":"Auth secret error","example":"Auth secret refreshing error"}}},"relationships":{"type":"object","required":["workspace","user","auth_client"],"properties":{"workspace":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"auth_client":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["auth-client"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/auth-clients/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["auth secrets"],"summary":"Update the specified auth secret","description":"You need `workspaces.auth_secret.edit` permission to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"secret_id","description":"Auth secret identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"Auth secret identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value `auth-secret`.","enum":["auth-secret"]},"attributes":{"type":"object","required":["name","state","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth secret","example":"Secret name"},"state":{"type":"string","description":"Auth secret state","enum":["ready","error"]},"credentials":{"type":"object","oneOf":[{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Auth secret access token","example":"ya29.a0AfH6SMC9aSZhds2dg3VpULECqzajjDE0qlyGDFfgxnBn8cwfj9cg_THWIpxPUSMsDcn70Obx_WwxXBQYfT8edbAIRJIsCiueyki6iTWA_DADbEx3n5vRU-pCXjSTav9s7Q"},"refresh_token":{"type":"string","description":"Auth secret refresh token","example":"1//09cZWQ81C9F_-CgYIARAkSNwF-L9IrvRAYXy5RuPko6rRwzxfYPVykQep6cK7rUdHHSXIhiRw3fbZf3ReCI4DNuQStH_4JL2Y"},"expires_in":{"type":"integer","description":"Auth secret expired period. If not specified and `auth-client` is `oauth2` then the value will be taken from `token_expires_in` of linked `auth-client`. The value is set in seconds.","example":60},"additional_params":{"type":"string","description":"Auth secret additional parameters","example":"access_type:offline,prompt:consent"},"scope":{"type":"string","description":"Auth secret scope","example":"https://www.googleapis.com/auth/spreadsheets"},"fields":{"type":"object","description":"If component has OAuthFieldView in component.json you can define additional fields in auth-secret for storing data","properties":{"base_url":{"type":"string","example":"https://example.com"}}}}},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]},"type":{"type":"string","readOnly":true,"example":"oauth2"},"error":{"type":"string","description":"Auth secret error","example":"Auth secret refreshing error"}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-secret`\n","enum":["auth-secret"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/secrets/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","state","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth secret","example":"Secret name"},"state":{"type":"string","description":"Auth secret state","enum":["ready","error"]},"credentials":{"type":"object","oneOf":[{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Auth secret access token","example":"ya29.a0AfH6SMC9aSZhds2dg3VpULECqzajjDE0qlyGDFfgxnBn8cwfj9cg_THWIpxPUSMsDcn70Obx_WwxXBQYfT8edbAIRJIsCiueyki6iTWA_DADbEx3n5vRU-pCXjSTav9s7Q"},"refresh_token":{"type":"string","description":"Auth secret refresh token","example":"1//09cZWQ81C9F_-CgYIARAkSNwF-L9IrvRAYXy5RuPko6rRwzxfYPVykQep6cK7rUdHHSXIhiRw3fbZf3ReCI4DNuQStH_4JL2Y"},"expires_in":{"type":"integer","description":"Auth secret expired period. If not specified and `auth-client` is `oauth2` then the value will be taken from `token_expires_in` of linked `auth-client`. The value is set in seconds.","example":60},"additional_params":{"type":"string","description":"Auth secret additional parameters","example":"access_type:offline,prompt:consent"},"scope":{"type":"string","description":"Auth secret scope","example":"https://www.googleapis.com/auth/spreadsheets"},"fields":{"type":"object","description":"If component has OAuthFieldView in component.json you can define additional fields in auth-secret for storing data","properties":{"base_url":{"type":"string","example":"https://example.com"}}}}},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]},"type":{"type":"string","readOnly":true,"example":"oauth2"},"error":{"type":"string","description":"Auth secret error","example":"Auth secret refreshing error"}}},"relationships":{"type":"object","required":["workspace","user","auth_client"],"properties":{"workspace":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"auth_client":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["auth-client"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/auth-clients/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["auth secrets"],"summary":"Remove the specified auth secret.","description":"You need `workspaces.auth_secret.delete` permission to access this resource.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"secret_id","description":"Auth secret identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/secrets/{secret_id}/refresh":{"post":{"tags":["auth secrets"],"summary":"Refreshes the specified auth secret manually if it supports this operation.","description":"You need `workspaces.auth_secret.refresh` permission to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"secret_id","description":"Auth secret identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `auth-secret`\n","enum":["auth-secret"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/secrets/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","state","credentials"],"properties":{"name":{"type":"string","description":"Name of the auth secret","example":"Secret name"},"state":{"type":"string","description":"Auth secret state","enum":["ready","error"]},"credentials":{"type":"object","oneOf":[{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Auth secret access token","example":"ya29.a0AfH6SMC9aSZhds2dg3VpULECqzajjDE0qlyGDFfgxnBn8cwfj9cg_THWIpxPUSMsDcn70Obx_WwxXBQYfT8edbAIRJIsCiueyki6iTWA_DADbEx3n5vRU-pCXjSTav9s7Q"},"refresh_token":{"type":"string","description":"Auth secret refresh token","example":"1//09cZWQ81C9F_-CgYIARAkSNwF-L9IrvRAYXy5RuPko6rRwzxfYPVykQep6cK7rUdHHSXIhiRw3fbZf3ReCI4DNuQStH_4JL2Y"},"expires_in":{"type":"integer","description":"Auth secret expired period. If not specified and `auth-client` is `oauth2` then the value will be taken from `token_expires_in` of linked `auth-client`. The value is set in seconds.","example":60},"additional_params":{"type":"string","description":"Auth secret additional parameters","example":"access_type:offline,prompt:consent"},"scope":{"type":"string","description":"Auth secret scope","example":"https://www.googleapis.com/auth/spreadsheets"},"fields":{"type":"object","description":"If component has OAuthFieldView in component.json you can define additional fields in auth-secret for storing data","properties":{"base_url":{"type":"string","example":"https://example.com"}}}}},{"type":"object","example":"{ \"login\":\"somelogin\", \"key\":\"somekey\"}"}]},"type":{"type":"string","readOnly":true,"example":"oauth2"},"error":{"type":"string","description":"Auth secret error","example":"Auth secret refreshing error"}}},"relationships":{"type":"object","required":["workspace","user","auth_client"],"properties":{"workspace":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"auth_client":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["auth-client"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/auth-clients/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/contracts":{"get":{"tags":["contracts"],"summary":"Lists all contracts for a specific user","parameters":[{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}},{"in":"query","name":"search","description":"Search contracts by a word or a phrase contained in a title. Behavior is similar to operator LIKE in SQL. Case insensitive. Leading/following spaces are trimmed","schema":{"type":"string","example":"contractName"}}],"description":"You need to be a member of the Contract’s scope to access this resource.\n\nTo make custom data to be included in a response, a user must have `contracts.contract.get_custom_data` permission.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `contract`\n","enum":["contract"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the contract","example":"Contract name"},"type":{"type":"string","description":"Type of the contract.","enum":["full","trial"]},"created_at":{"type":"string","description":"Shows the creation date of a contract."},"updated_at":{"type":"string","description":"Shows the date of last update made to the contract."},"available_roles":{"type":"array","items":{"type":"object","required":["scope","role"],"properties":{"scope":{"type":"string","description":"The role's scope","enum":["contracts","workspaces"]},"role":{"type":"string","description":"The role's name","example":"admin"}}}},"status":{"type":"string","readOnly":true,"example":"active"},"flow_stats_enabled_default":{"type":"boolean","desription":"To disable input/output message stats set this flow’s `attributes.stats_enabled` flag to `false`","default":true},"support_user_id":{"type":"string","description":"An identifier of user from platform support team","example":"5b4f337bff4304610483ba67"},"custom_data":{"type":"object","description":"Custom contract data in an arbitrary format. This field is **not intended to store sensitive data**. Max size after stringify is 1 MB","example":"{\"description\": \"Contract description\"}"},"feature_flags":{"type":"object","properties":{"disable_recipe_feature":{"type":"boolean","description":"Disable ability to change existing recipes or create new ones","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["members","workspaces","invites"],"properties":{"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/members"}}}}},"workspaces":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}},"invites":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-invite"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/invites"}}}}}}}}}},"meta":{"type":"object","required":["page","per_page","total","total_pages"],"properties":{"page":{"type":"integer","example":2},"per_page":{"type":"integer","example":20},"total":{"type":"integer","example":7},"total_pages":{"type":"integer","example":2}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}},"post":{"tags":["contracts"],"summary":"Creates a contract","description":"You need to be a user with `TenantAdmin` role to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `contract`\n","enum":["contract"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the contract","example":"Contract name"},"type":{"type":"string","description":"Type of the contract.","enum":["full","trial"]},"created_at":{"type":"string","description":"Shows the creation date of a contract."},"updated_at":{"type":"string","description":"Shows the date of last update made to the contract."},"available_roles":{"type":"array","items":{"type":"object","required":["scope","role"],"properties":{"scope":{"type":"string","description":"The role's scope","enum":["contracts","workspaces"]},"role":{"type":"string","description":"The role's name","example":"admin"}}}},"status":{"type":"string","readOnly":true,"example":"active"},"flow_stats_enabled_default":{"type":"boolean","desription":"To disable input/output message stats set this flow’s `attributes.stats_enabled` flag to `false`","default":true},"support_user_id":{"type":"string","description":"An identifier of user from platform support team","example":"5b4f337bff4304610483ba67"},"custom_data":{"type":"object","description":"Custom contract data in an arbitrary format. This field is **not intended to store sensitive data**. Max size after stringify is 1 MB","example":"{\"description\": \"Contract description\"}"},"feature_flags":{"type":"object","properties":{"disable_recipe_feature":{"type":"boolean","description":"Disable ability to change existing recipes or create new ones","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["members","workspaces","invites"],"properties":{"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/members"}}}}},"workspaces":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}},"invites":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-invite"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/invites"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `contract`\n","enum":["contract"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the contract","example":"Contract name"},"type":{"type":"string","description":"Type of the contract.","enum":["full","trial"]},"created_at":{"type":"string","description":"Shows the creation date of a contract."},"updated_at":{"type":"string","description":"Shows the date of last update made to the contract."},"available_roles":{"type":"array","items":{"type":"object","required":["scope","role"],"properties":{"scope":{"type":"string","description":"The role's scope","enum":["contracts","workspaces"]},"role":{"type":"string","description":"The role's name","example":"admin"}}}},"status":{"type":"string","readOnly":true,"example":"active"},"flow_stats_enabled_default":{"type":"boolean","desription":"To disable input/output message stats set this flow’s `attributes.stats_enabled` flag to `false`","default":true},"support_user_id":{"type":"string","description":"An identifier of user from platform support team","example":"5b4f337bff4304610483ba67"},"custom_data":{"type":"object","description":"Custom contract data in an arbitrary format. This field is **not intended to store sensitive data**. Max size after stringify is 1 MB","example":"{\"description\": \"Contract description\"}"},"feature_flags":{"type":"object","properties":{"disable_recipe_feature":{"type":"boolean","description":"Disable ability to change existing recipes or create new ones","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["members","workspaces","invites"],"properties":{"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/members"}}}}},"workspaces":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}},"invites":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-invite"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/invites"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/contracts/{contract_id}":{"get":{"tags":["contracts"],"summary":"Returns the specified contract.","description":"You need to be a member of specified contract or a user with `TenantAdmin` role to access this resource.\n\nTo make custom data to be included in a response, a user must have `contracts.contract.get_custom_data` permission.\n","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"include","description":"Include full resource objects in response for related entities, or not. Possible values: `members` and/or `invites`\n","schema":{"type":"string","enum":["members","invites","members,invites"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `contract`\n","enum":["contract"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the contract","example":"Contract name"},"type":{"type":"string","description":"Type of the contract.","enum":["full","trial"]},"created_at":{"type":"string","description":"Shows the creation date of a contract."},"updated_at":{"type":"string","description":"Shows the date of last update made to the contract."},"available_roles":{"type":"array","items":{"type":"object","required":["scope","role"],"properties":{"scope":{"type":"string","description":"The role's scope","enum":["contracts","workspaces"]},"role":{"type":"string","description":"The role's name","example":"admin"}}}},"status":{"type":"string","readOnly":true,"example":"active"},"flow_stats_enabled_default":{"type":"boolean","desription":"To disable input/output message stats set this flow’s `attributes.stats_enabled` flag to `false`","default":true},"support_user_id":{"type":"string","description":"An identifier of user from platform support team","example":"5b4f337bff4304610483ba67"},"custom_data":{"type":"object","description":"Custom contract data in an arbitrary format. This field is **not intended to store sensitive data**. Max size after stringify is 1 MB","example":"{\"description\": \"Contract description\"}"},"feature_flags":{"type":"object","properties":{"disable_recipe_feature":{"type":"boolean","description":"Disable ability to change existing recipes or create new ones","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["members","workspaces","invites"],"properties":{"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/members"}}}}},"workspaces":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}},"invites":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-invite"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/invites"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Doe"},"roles":{"type":"array","items":{"type":"string","example":"admin"}},"email":{"type":"string","example":"john.doe@gmail.com"}}},"relationships":{"type":"object","required":["user"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-invite"]},"attributes":{"type":"object","required":["email","roles","contract_id","workspace_roles"],"properties":{"email":{"type":"string","example":"john.doe@gmail.com"},"roles":{"type":"array","items":{"type":"string","example":"member"},"contract_id":{"type":"string","example":"5b4f337bff4304610483ba67"},"workspace_roles":{"type":"array","items":{"type":"string","example":"integrator"}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["contracts"],"summary":"Update the specified contract","description":"For updating Contract name this request is authorized to the users with `contracts.contract.edit` permission.\n\nFor updating the set of available roles of the particular Contract this request is authorized to the user with\n`contracts.contract.edit_available_roles` permission.\n\nFor updating the custom data this request is authorized to the users with `contracts.contract.edit_custom_data`\npermission.\n\nFor updating the feature flags this request is authorized to the users with `tenants.contract.edit_feature_flags`\npermission.\n\nFor updating the type this request is authorized to the users with `tenants.contract.edit_type`\npermission.\n","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"Contract identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value `contract`.","enum":["contract"]},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the contract","example":"Contract name"},"type":{"type":"string","description":"Type of the contract.","enum":["full","trial"]},"created_at":{"type":"string","description":"Shows the creation date of a contract."},"updated_at":{"type":"string","description":"Shows the date of last update made to the contract."},"available_roles":{"type":"array","items":{"type":"object","required":["scope","role"],"properties":{"scope":{"type":"string","description":"The role's scope","enum":["contracts","workspaces"]},"role":{"type":"string","description":"The role's name","example":"admin"}}}},"status":{"type":"string","readOnly":true,"example":"active"},"flow_stats_enabled_default":{"type":"boolean","desription":"To disable input/output message stats set this flow’s `attributes.stats_enabled` flag to `false`","default":true},"support_user_id":{"type":"string","description":"An identifier of user from platform support team","example":"5b4f337bff4304610483ba67"},"custom_data":{"type":"object","description":"Custom contract data in an arbitrary format. This field is **not intended to store sensitive data**. Max size after stringify is 1 MB","example":"{\"description\": \"Contract description\"}"},"feature_flags":{"type":"object","properties":{"disable_recipe_feature":{"type":"boolean","description":"Disable ability to change existing recipes or create new ones","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `contract`\n","enum":["contract"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the contract","example":"Contract name"},"type":{"type":"string","description":"Type of the contract.","enum":["full","trial"]},"created_at":{"type":"string","description":"Shows the creation date of a contract."},"updated_at":{"type":"string","description":"Shows the date of last update made to the contract."},"available_roles":{"type":"array","items":{"type":"object","required":["scope","role"],"properties":{"scope":{"type":"string","description":"The role's scope","enum":["contracts","workspaces"]},"role":{"type":"string","description":"The role's name","example":"admin"}}}},"status":{"type":"string","readOnly":true,"example":"active"},"flow_stats_enabled_default":{"type":"boolean","desription":"To disable input/output message stats set this flow’s `attributes.stats_enabled` flag to `false`","default":true},"support_user_id":{"type":"string","description":"An identifier of user from platform support team","example":"5b4f337bff4304610483ba67"},"custom_data":{"type":"object","description":"Custom contract data in an arbitrary format. This field is **not intended to store sensitive data**. Max size after stringify is 1 MB","example":"{\"description\": \"Contract description\"}"},"feature_flags":{"type":"object","properties":{"disable_recipe_feature":{"type":"boolean","description":"Disable ability to change existing recipes or create new ones","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["members","workspaces","invites"],"properties":{"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/members"}}}}},"workspaces":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}},"invites":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-invite"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67/invites"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["contracts"],"summary":"Remove the specified contract.","description":"You need to be a user with `TenantAdmin` role to access this resource.\n* Accounts (Credentials)\n* Agents\n* DataSamples\n* InviteTokens\n* Flow’s DynamicMetadata\n* Flow’s DynamicSelectModel\n* Flow’s ExecStat\n* Flow’s ExecutionResult\n* Flow’s MarathonEvent\n* Flow’s RequestBin\n* Flow’s TaskHooksData\n* Flow’s TaskStatError\n* Flow’s TaskVersion\n* Workspaces\n* Teams\n* Repos\n* RepoBuilds\n* User accounts who were only the members of the deleted Contract’s scope, as well as ssh keys associated with him/her.\n","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/members":{"get":{"tags":["contracts"],"summary":"Lists all members for a specified contract","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"description":"You need to be a member of the Contract’s scope to access this resource","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Doe"},"roles":{"type":"array","items":{"type":"string","example":"admin"}},"email":{"type":"string","example":"john.doe@gmail.com"}}},"relationships":{"type":"object","required":["user"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["contracts"],"summary":"Adds existed platform user as a member to the specified contract.","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"description":"You have to be a user with `TenantAdmin` role to access this resource.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"The identifier of an already registered user","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value should be `contract-member`","enum":["contract-member"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","description":"Set of roles of the specified user in this contract","items":{"type":"string","example":"member"}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Doe"},"roles":{"type":"array","items":{"type":"string","example":"admin"}},"email":{"type":"string","example":"john.doe@gmail.com"}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/members/{user_id}":{"patch":{"tags":["contracts"],"summary":"Update membership for the specified member","description":"You need have `contracts.membership.edit` permission to access this resource.","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"The identifier of an already registered user","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value should be `contract-member`","enum":["contract-member"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","description":"Set of roles of the specified user in this contract","items":{"type":"string","example":"member"}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-member"]},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Doe"},"roles":{"type":"array","items":{"type":"string","example":"admin"}},"email":{"type":"string","example":"john.doe@gmail.com"}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}},"delete":{"tags":["contracts"],"summary":"Remove membership of the specified user for defined contract.","description":"You need have `contracts.membership.edit` permission or to be a user with `TenantAdmin` role to access this resource.\n","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"is_clear_empty_workspaces","description":"By default all workspaces, where you are the only owner will transfer to request inintiator (or to first owner)","schema":{"type":"boolean","enum":[true]}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/invites":{"get":{"tags":["contracts"],"summary":"Lists all pending members for a specified contract","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"description":"You need to be a member of the Contract’s scope to access this resource","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-invite"]},"attributes":{"type":"object","required":["email","roles","contract_id","workspace_roles"],"properties":{"email":{"type":"string","example":"john.doe@gmail.com"},"roles":{"type":"array","items":{"type":"string","example":"member"},"contract_id":{"type":"string","example":"5b4f337bff4304610483ba67"},"workspace_roles":{"type":"array","items":{"type":"string","example":"integrator"}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["contracts"],"summary":"Invites user to the defined contract and workspace, if last one is specified","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"description":"You need have `contracts.membership.edit` permission or to be a user with `TenantAdmin` role to access this resource. To provide the `workspase_id` as an additional parameter user has to have permission `workspaces.workspace.edit` and belong to the provided workspace.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","description":"A value should be `contract-invite`.","enum":["contract-invite"]},"attributes":{"type":"object","required":["email","roles"],"properties":{"email":{"type":"string","description":"Email of the invited person","example":"john.doe@gmail.com"},"roles":{"type":"array","description":"Set of roles of the invited person in the specified contract. The very first member of a contract must have `owner` role.","items":{"type":"string","example":"admin"}},"workspace_id":{"type":"string","description":"Workspace identifier","example":"5b4f337bff4304610483ba67"},"workspace_roles":{"type":"array","description":"Set of roles of the invited person in the specified workspace","items":{"type":"string","example":"integrator"}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","description":"A value should be `contract-invite`.","enum":["contract-invite"]},"attributes":{"type":"object","required":["email","roles"],"properties":{"email":{"type":"string","description":"Email of the invited person","example":"john.doe@gmail.com"},"roles":{"type":"array","description":"Set of roles of the invited person in the specified contract. The very first member of a contract must have `owner` role.","items":{"type":"string","example":"admin"}},"workspace_id":{"type":"string","description":"Workspace identifier","example":"5b4f337bff4304610483ba67"},"workspace_roles":{"type":"array","description":"Set of roles of the invited person in the specified workspace","items":{"type":"string","example":"integrator"}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/invites/{invite_id}":{"patch":{"tags":["contracts"],"summary":"Update the specified invitation","description":"You need have `contracts.membership.edit` permission or to be a user with `TenantAdmin` role to access this resource. To provide the `workspase_id` as an additional parameter user has to have permission `workspaces.workspace.edit` and belong to the provided workspace.","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"invite_id","description":"Invitation identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","$ref":"#/inviteData"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","description":"A value should be `contract-invite`.","enum":["contract-invite"]},"attributes":{"type":"object","required":["email","roles"],"properties":{"email":{"type":"string","description":"Email of the invited person","example":"john.doe@gmail.com"},"roles":{"type":"array","description":"Set of roles of the invited person in the specified contract. The very first member of a contract must have `owner` role.","items":{"type":"string","example":"admin"}},"workspace_id":{"type":"string","description":"Workspace identifier","example":"5b4f337bff4304610483ba67"},"workspace_roles":{"type":"array","description":"Set of roles of the invited person in the specified workspace","items":{"type":"string","example":"integrator"}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["contracts"],"summary":"Remove the specified invitation.","description":"You need have `contracts.membership.edit` permission or to be a user with `TenantAdmin` role to access this resource.\n","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"invite_id","description":"Invitation identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/roles":{"get":{"tags":["contracts"],"summary":"Lists all roles for a specified contract","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"description":"You need to be a member of the Contract’s scope to access this resource","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract-policy"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"anyOf":[{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.workspace.create","contracts.workspace.listAll","contracts.workspace.delete","contracts.repository.edit","contracts.devTeam.edit","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Member"}}},"role":{"type":"string","example":"member"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.workspace.create"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","global.auth_clients.edit","global.auth_clients.create","global.auth_clients.delete","workspaces.workspace.edit","workspaces.workspace.edit_membership_support","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.flow.exportToRecipe","workspaces.logs.read_all","workspaces.recipe.edit","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Integrator"}}},"role":{"type":"string","example":"integrator"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["workspaces.recipe.edit","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.flow.exportToRecipe","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.logs.read_all","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Guest"}}},"role":{"type":"string","example":"guest"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","workspaces.auth_secret.get","workspaces.logs.read_all","workspaces.vpn_agent.get","workspaces.topic.get"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Owner"}}},"role":{"type":"string","example":"owner"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.contract.edit","contracts.membership.edit","contracts.workspace_limits.edit","contracts.workspace.create","contracts.workspace.listAll","contracts.workspace.delete","global.stats.workspaces","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","global.auth_clients.edit","global.auth_clients.create","global.auth_clients.delete","workspaces.workspace.edit","workspaces.workspace.edit_membership_support","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.logs.read_all","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}}]}}}},"relationships":{"type":"object","required":["tenant"],"properties":{"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67\""}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/suspend":{"post":{"tags":["contracts"],"summary":"Suspends the specified contract","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"description":"You need to have the `Service Account` record type or the `TenantAdmin` role to access this resource. The process is asynchronous. Suspending is completed once all of the flows in a given Contract will be stopped. While the contract gets suspended, all the writing requests will be rejected.","responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/unsuspend":{"post":{"tags":["contracts"],"summary":"Resumes the specified contract","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"description":"You need to have the `Service Account` record type or the `TenantAdmin` role to access this resource.","responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/flows/suspend":{"post":{"tags":["contracts"],"summary":"Suspends all flows in the specified contract","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"reason","required":false,"description":"Optional reason for suspension. Use `quota-overlay` when suspending due to quota limits exceeded. When set to `quota-overlay`, flows will be marked with `suspendedByQuota` field.","schema":{"type":"string","example":"quota-overlay"}}],"description":"Suspends all active and inactive flows (excluding debug and retry flows) in all workspaces of the specified contract.\nYou need to have the `contracts.contract.suspend_flows` permission to access this resource.\nThis endpoint is primarily intended for use by the WIPER service account when quota limits are exceeded.\n","responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","properties":{"suspended":{"type":"integer","description":"Number of flows successfully suspended"},"errors":{"type":"array","items":{"type":"object","properties":{"flowId":{"type":"string"},"error":{"type":"string"}}},"description":"List of errors that occurred during suspension (if any)"}},"required":["suspended"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/contracts/{contract_id}/flows/resume-quota-suspended":{"post":{"tags":["contracts"],"summary":"Resumes all quota-suspended flows in the specified contract","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"description":"Resumes all flows that were suspended due to quota limits (excluding debug and retry flows) in all workspaces of the specified contract.\nYou need to have the `contracts.contract.resume_quota_suspended_flows` permission to access this resource.\nThis endpoint is primarily intended for use by the WIPER service account when quota limits are restored.\n","responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","properties":{"resumed":{"type":"integer","description":"Number of flows successfully resumed"},"errors":{"type":"array","items":{"type":"object","properties":{"flowId":{"type":"string"},"error":{"type":"string"}}},"description":"List of errors that occurred during resume (if any)"}},"required":["resumed"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components":{"get":{"tags":["components"],"summary":"Lists all available Components with the specified Contract Id","description":"You need Contract memberships to access this resource","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"filter[access]","description":"Filter by Component access. If `private` only Components from own Contract returned, if `public` - only shared Components from the other Contracts and if `all` (default value) - returns all available Components.\n","schema":{"type":"array","items":{"type":"string","enum":["private","public"],"default":"all"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","team_name","access","whitelisted_contract_ids"],"properties":{"name":{"type":"string","description":"Repository name","example":"simple-trigger-component"},"team_name":{"type":"string","readOnly":true,"description":"Developer Team name","example":"core"},"access":{"type":"string","readOnly":true,"enum":["team","tenant","globalversion"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},"relationships":{"type":"object","required":["versions","latest_version"],"properties":{"versions":{"type":"object","required":["links"],"properties":{"links":{"type":"object","required":["related"],"properties":{"related":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/versions/db12f2a7291fd904d004786cb9f11220c90421aa"}}},"attributes":{"type":"object","required":["date","version_number"],"properties":{"date":{"type":"integer","description":"The unix time stamp","example":1452180641922},"version_number":{"type":"string","example":"2"}}},"relationships":{"type":"object","required":["descriptor","component"],"properties":{"descriptor":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["descriptor"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/db12f2a7291fd904d004786cb9f11220c90421aa/descriptor"}}}}},"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}}}}]}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}},"post":{"tags":["components"],"summary":"Creates a component repository","description":"You need `contracts.repository.edit` permission to access this resource","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"type":"string","enum":["component"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Repository name","example":"simple-trigger-component"},"icon":{"type":"string","writeOnly":true,"description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"team_name":{"type":"string","readOnly":true,"description":"Developer Team name","example":"core"},"access":{"type":"string","readOnly":true,"enum":["team","tenant","global"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}},"docker_repo_name":{"type":"string","description":"String representing component’s name in docker registry. Available only if team supports docker registry","example":"orgName/repoName"},"docker_target_tag":{"type":"string","description":"String representing component’s tag in docker registry. Available only if team supports docker registry","example":"latest"}}},"relationships":{"type":"object","required":["team","contract"],"properties":{"team":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","description":"Team ID the repository to create for","example":"61b9ed068a96b4001138ffc5"}}}}},"contract":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","enum":["contract"]},"id":{"type":"string","description":"Contract ID the repository to create for","example":"61b9ed068a96b4001138ffc5"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"61b9ed068a96b4001138ffc5"},"type":{"type":"string","enum":["component"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/61b9ed068a96b4001138ffc5"}}},"attributes":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Repository name","example":"simple-trigger-component"},"icon":{"type":"string","writeOnly":true,"description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"team_name":{"type":"string","readOnly":true,"description":"Developer Team name","example":"core"},"access":{"type":"string","readOnly":true,"enum":["team","tenant","global"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}},"docker_repo_name":{"type":"string","description":"String representing component’s name in docker registry. Available only if team supports docker registry","example":"orgName/repoName"},"docker_target_tag":{"type":"string","description":"String representing component’s tag in docker registry. Available only if team supports docker registry","example":"latest"}}},{"required":["name"],"properties":{"name":{"type":"string"}}}]},"relationships":{"type":"object","readOnly":true,"required":["versions"],"properties":{"versions":{"type":"object","required":["links"],"properties":{"links":{"type":"object","required":["related"],"properties":{"related":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions"}}}}}}}}},"meta":{"type":"object","readOnly":true,"example":"{}"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/components/all":{"get":{"tags":["components"],"summary":"Lists all available Components","description":"You need `tenants.component.list_all` permission to access this resource","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","team_name","access","whitelisted_contract_ids"],"properties":{"name":{"type":"string","description":"Repository name","example":"simple-trigger-component"},"team_name":{"type":"string","readOnly":true,"description":"Developer Team name","example":"core"},"access":{"type":"string","readOnly":true,"enum":["team","tenant","globalversion"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},"relationships":{"type":"object","required":["versions","latest_version"],"properties":{"versions":{"type":"object","required":["links"],"properties":{"links":{"type":"object","required":["related"],"properties":{"related":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/versions/db12f2a7291fd904d004786cb9f11220c90421aa"}}},"attributes":{"type":"object","required":["date","version_number"],"properties":{"date":{"type":"integer","description":"The unix time stamp","example":1452180641922},"version_number":{"type":"string","example":"2"}}},"relationships":{"type":"object","required":["descriptor","component"],"properties":{"descriptor":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["descriptor"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/db12f2a7291fd904d004786cb9f11220c90421aa/descriptor"}}}}},"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}}}}]}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}":{"get":{"tags":["components"],"summary":"Returns the Component based on the specified Component Id","description":"The component should be accessible to the client (e.g. component from the own Contract or shared one).","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","team_name","access","whitelisted_contract_ids"],"properties":{"name":{"type":"string","description":"Repository name","example":"simple-trigger-component"},"team_name":{"type":"string","readOnly":true,"description":"Developer Team name","example":"core"},"access":{"type":"string","readOnly":true,"enum":["team","tenant","globalversion"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},"relationships":{"type":"object","required":["versions","latest_version"],"properties":{"versions":{"type":"object","required":["links"],"properties":{"links":{"type":"object","required":["related"],"properties":{"related":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/versions/db12f2a7291fd904d004786cb9f11220c90421aa"}}},"attributes":{"type":"object","required":["date","version_number"],"properties":{"date":{"type":"integer","description":"The unix time stamp","example":1452180641922},"version_number":{"type":"string","example":"2"}}},"relationships":{"type":"object","required":["descriptor","component"],"properties":{"descriptor":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["descriptor"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/db12f2a7291fd904d004786cb9f11220c90421aa/descriptor"}}}}},"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["components"],"summary":"Update the Component based on the specified Component Id","description":"You need `tenants.component.edit_access` permission to access this resource\n\nThis resource allows you to perform the next actions:\n1. Change component's access level from `team` to `tenant`. (Please note, that this action is irreversible i.e. API does not allow to change `access` back to `team`.)\n2. Change component's whitelisted contract ids\n\nA component may have one of the following access level:\n- ``team`` – no sharing. Only team members can use the component.\n- ``tenant`` – component could be used by the other clients in the tenant.\n- ``global`` – special mode for components from the standard set of components of the Platform (e.g. ``Timer``, ``Webhook`` etc). Any user of the platform can use ``global`` components.\n\nYou can edit whitelisted contracts only for components with `tenant` or `global` access\n","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["component"]},"attributes":{"type":"object","properties":{"access":{"type":"string","description":"A value should be `tenant` for increasing access from `team` level\n","enum":["tenant"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"61b9ed068a96b4001138ffc5"},"type":{"type":"string","enum":["component"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/61b9ed068a96b4001138ffc5"}}},"attributes":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Repository name","example":"simple-trigger-component"},"icon":{"type":"string","writeOnly":true,"description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"team_name":{"type":"string","readOnly":true,"description":"Developer Team name","example":"core"},"access":{"type":"string","readOnly":true,"enum":["team","tenant","global"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}},"docker_repo_name":{"type":"string","description":"String representing component’s name in docker registry. Available only if team supports docker registry","example":"orgName/repoName"},"docker_target_tag":{"type":"string","description":"String representing component’s tag in docker registry. Available only if team supports docker registry","example":"latest"}}},{"required":["name"],"properties":{"name":{"type":"string"}}}]},"relationships":{"type":"object","readOnly":true,"required":["versions"],"properties":{"versions":{"type":"object","required":["links"],"properties":{"links":{"type":"object","required":["related"],"properties":{"related":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions"}}}}}}}}},"meta":{"type":"object","readOnly":true,"example":"{}"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}},"delete":{"tags":["components"],"summary":"Remove the Component based on the specified Component Id","description":"You need `contracts.repository.edit` permission to access this resource\n","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}/env":{"get":{"tags":["components"],"summary":"Returns the Component environment variables based on the specified Component Id","description":"The component should be accessible to the client (e.g. component from the own Contract or shared one).","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component-env"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/component-envs/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["vars"],"properties":{"vars":{"type":"object","description":"JSON object representing environmental variables mapped to their values","example":"{\"my_env_var\":\"env_var_value\"}"}}}}},"meta":{"type":"object","readOnly":true,"example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"put":{"tags":["components"],"summary":"Updates the Component environment variables based on the specified Component Id","description":"The component should be accessible to the client (e.g. component from the own Contract or shared one).","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component-env"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/component-envs/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["vars"],"properties":{"vars":{"type":"object","description":"JSON object representing environmental variables mapped to their values","example":"{\"my_env_var\":\"env_var_value\"}"}}}}},"meta":{"type":"object","readOnly":true,"example":"{}"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component-env"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/component-envs/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["vars"],"properties":{"vars":{"type":"object","description":"JSON object representing environmental variables mapped to their values","example":"{\"my_env_var\":\"env_var_value\"}"}}}}},"meta":{"type":"object","readOnly":true,"example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}/versions":{"get":{"tags":["components"],"summary":"Lists the Component versions based on the specified Component Id","description":"The component should be accessible to the client (e.g. component from the own Contract or shared one).","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/versions/db12f2a7291fd904d004786cb9f11220c90421aa"}}},"attributes":{"type":"object","required":["date","version_number"],"properties":{"date":{"type":"integer","description":"The unix time stamp","example":1452180641922},"version_number":{"type":"string","example":"2"}}},"relationships":{"type":"object","required":["descriptor","component"],"properties":{"descriptor":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["descriptor"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/db12f2a7291fd904d004786cb9f11220c90421aa/descriptor"}}}}},"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}/versions/{version_id}":{"delete":{"tags":["components"],"summary":"Remove the Component version based on the specified Component Id and Version Id","description":"You need `contracts.repository.edit` permission to access this resource\n","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"version_id","description":"Revision or version of the component’s build. Can be `latest`.\n","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}/versions/{git_revision}/descriptor":{"get":{"tags":["components"],"summary":"Returns the Component descriptor based on the specified Component Id and revision of the component’s build","description":"The component should be accessible to the client (e.g. component from the own Contract or shared one).","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"git_revision","description":"Revision or version of the component’s build. Can be `latest`.\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}/docker-pull/{version_id}":{"post":{"tags":["components"],"summary":"Force pull of a component version from external docker registry","description":"You need `contracts.repository.edit` permission to access this resource. The component should be accessible to the client (e.g. component from the own Contract or shared one).","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"version_id","description":"Revision or version of the component’s build. Can be `latest`.\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/workspaces/{workspace_id}/components":{"get":{"tags":["components"],"summary":"Lists all available Components with the specified Workspace Id","description":"You need Workspace memberships to access this resource\n\nIn case Tenant feature flag for component whitelist is enabled and Workspace has type `full` - this endpoint lists all available Components in given workspace with respect of component whitelist.\n\nOtherwise (i.e. if either feature flag is disabled, or workspace has type `limited`) - it lists all available omponents in given Workspace.\n\nResponse includes latest Descriptor for each Component.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","team_name","access","whitelisted_contract_ids"],"properties":{"name":{"type":"string","description":"Repository name","example":"simple-trigger-component"},"team_name":{"type":"string","readOnly":true,"description":"Developer Team name","example":"core"},"access":{"type":"string","readOnly":true,"enum":["team","tenant","globalversion"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},"relationships":{"type":"object","required":["versions","latest_version"],"properties":{"versions":{"type":"object","required":["links"],"properties":{"links":{"type":"object","required":["related"],"properties":{"related":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/versions/db12f2a7291fd904d004786cb9f11220c90421aa"}}},"attributes":{"type":"object","required":["date","version_number"],"properties":{"date":{"type":"integer","description":"The unix time stamp","example":1452180641922},"version_number":{"type":"string","example":"2"}}},"relationships":{"type":"object","required":["descriptor","component"],"properties":{"descriptor":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["descriptor"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/db12f2a7291fd904d004786cb9f11220c90421aa/descriptor"}}}}},"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}}}}]}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/components/{component_id}":{"get":{"tags":["components"],"summary":"Returns the Component based on the specified Component Id and Workspace Id with respect of whitelist","description":"You need Contract memberships to access this resource\n\nThe component should be accessible to the client (e.g. component from the own Contract or shared one).\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","team_name","access","whitelisted_contract_ids"],"properties":{"name":{"type":"string","description":"Repository name","example":"simple-trigger-component"},"team_name":{"type":"string","readOnly":true,"description":"Developer Team name","example":"core"},"access":{"type":"string","readOnly":true,"enum":["team","tenant","globalversion"]},"whitelisted_contract_ids":{"type":"array","description":"List of Contracts where this components is available for full Workspaces","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},"relationships":{"type":"object","required":["versions","latest_version"],"properties":{"versions":{"type":"object","required":["links"],"properties":{"links":{"type":"object","required":["related"],"properties":{"related":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["version"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/versions/db12f2a7291fd904d004786cb9f11220c90421aa"}}},"attributes":{"type":"object","required":["date","version_number"],"properties":{"date":{"type":"integer","description":"The unix time stamp","example":1452180641922},"version_number":{"type":"string","example":"2"}}},"relationships":{"type":"object","required":["descriptor","component"],"properties":{"descriptor":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"db12f2a7291fd904d004786cb9f11220c90421aa"},"type":{"type":"string","enum":["descriptor"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/db12f2a7291fd904d004786cb9f11220c90421aa/descriptor"}}}}},"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/credentials":{"get":{"tags":["credentials"],"summary":"Lists all credentials of the specified workspace (and component, if it is defined)","parameters":[{"in":"query","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"filter[component]","description":"Only credentials belong to the specified component","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `credential`\n","enum":["credential"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/credentials/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Credential name. An automatic name will be generated if the parameter is omitted.","example":"Credential name"},"keys":{"type":"object","description":"An object which represents component’s configuration (OAuth keys, etc.). API `attributes.keys` structure depends on `credentials.fields` property of component’s `component.json`. The keys from `credentials.fields` directly translate into keys of `attributes.keys`.\n","example":"{\"username\":\"John@yahoo.com\", \"password\":\"password\"}\n"}}},"relationships":{"type":"object","required":["component","workspace","vpn_agent","user"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The component identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The Workspace identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"vpn_agent":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The vpn agent identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `vpn-agent`","enum":["vpn-agent"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/vpn_agents/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["credentials"],"summary":"Creates a credential","description":"You need `workspaces.credential.edit` permission to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `credential`\n","enum":["credential"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/credentials/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Credential name. An automatic name will be generated if the parameter is omitted.","example":"Credential name"},"keys":{"type":"object","description":"An object which represents component’s configuration (OAuth keys, etc.). API `attributes.keys` structure depends on `credentials.fields` property of component’s `component.json`. The keys from `credentials.fields` directly translate into keys of `attributes.keys`.\n","example":"{\"username\":\"John@yahoo.com\", \"password\":\"password\"}\n"}}},"relationships":{"type":"object","required":["component","workspace","vpn_agent","user"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The component identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The Workspace identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"vpn_agent":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The vpn agent identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `vpn-agent`","enum":["vpn-agent"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/vpn_agents/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `credential`\n","enum":["credential"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/credentials/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Credential name. An automatic name will be generated if the parameter is omitted.","example":"Credential name"},"keys":{"type":"object","description":"An object which represents component’s configuration (OAuth keys, etc.). API `attributes.keys` structure depends on `credentials.fields` property of component’s `component.json`. The keys from `credentials.fields` directly translate into keys of `attributes.keys`.\n","example":"{\"username\":\"John@yahoo.com\", \"password\":\"password\"}\n"}}},"relationships":{"type":"object","required":["component","workspace","vpn_agent","user"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The component identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The Workspace identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"vpn_agent":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The vpn agent identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `vpn-agent`","enum":["vpn-agent"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/vpn_agents/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/credentials/{credential_id}":{"get":{"tags":["credentials"],"summary":"Returns the specified credential.","parameters":[{"in":"path","name":"credential_id","description":"Credential identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `credential`\n","enum":["credential"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/credentials/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Credential name. An automatic name will be generated if the parameter is omitted.","example":"Credential name"},"keys":{"type":"object","description":"An object which represents component’s configuration (OAuth keys, etc.). API `attributes.keys` structure depends on `credentials.fields` property of component’s `component.json`. The keys from `credentials.fields` directly translate into keys of `attributes.keys`.\n","example":"{\"username\":\"John@yahoo.com\", \"password\":\"password\"}\n"}}},"relationships":{"type":"object","required":["component","workspace","vpn_agent","user"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The component identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The Workspace identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"vpn_agent":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The vpn agent identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `vpn-agent`","enum":["vpn-agent"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/vpn_agents/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["credentials"],"summary":"Update the specified topic","description":"You need `workspaces.credential.edit` permission to access this resource","parameters":[{"in":"path","name":"credential_id","description":"Credential identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","description":"Credential identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value `credential`.","enum":["credential"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Credential name. An automatic name will be generated if the parameter is omitted.","example":"Credential name"},"keys":{"type":"object","description":"An object which represents component’s configuration (OAuth keys, etc.). API `attributes.keys` structure depends on `credentials.fields` property of component’s `component.json`. The keys from `credentials.fields` directly translate into keys of `attributes.keys`.\n","example":"{\"username\":\"John@yahoo.com\", \"password\":\"password\"}\n"}}},"relationships":{"type":"object","properties":{"vpn_agent":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The vpn agent identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `vpn-agent`","enum":["vpn-agent"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/vpn_agents/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `credential`\n","enum":["credential"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/credentials/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Credential name. An automatic name will be generated if the parameter is omitted.","example":"Credential name"},"keys":{"type":"object","description":"An object which represents component’s configuration (OAuth keys, etc.). API `attributes.keys` structure depends on `credentials.fields` property of component’s `component.json`. The keys from `credentials.fields` directly translate into keys of `attributes.keys`.\n","example":"{\"username\":\"John@yahoo.com\", \"password\":\"password\"}\n"}}},"relationships":{"type":"object","required":["component","workspace","vpn_agent","user"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The component identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"The Workspace identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `workspace`","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"vpn_agent":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The vpn agent identifier this credential is for","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `vpn-agent`","enum":["vpn-agent"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/vpn_agents/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["credentials"],"summary":"Remove the specified credential.","description":"You need `workspaces.credential.edit` permission to access this resource.\n","parameters":[{"in":"path","name":"credential_id","description":"Credential identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/data-samples":{"post":{"tags":["data samples"],"summary":"Creates a data sample","description":"You need `workspaces.flow.edit` permission to access this resource.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `data-sample`\n","enum":["data-sample"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/data-samples/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["method","result"],"properties":{"method":{"type":"string","description":"Component’s action or trigger name.","example":"createOrUpdateRecord"},"result":{"type":"object","description":"Data sample body","example":"{\"id\":\"32455\", \"name\":\"Ben\", \"account-type\":\"Client\"}\n"}}},"relationships":{"type":"object","required":["component","component_version","workspace"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"component_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Revision of the component’s build. Use `latest` to retrieve the descriptor of the most recent successful build.","example":"latest"},"type":{"type":"string","description":"A value must be `version`","enum":["version"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `data-sample`\n","enum":["data-sample"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/data-samples/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["method","result"],"properties":{"method":{"type":"string","description":"Component’s action or trigger name.","example":"createOrUpdateRecord"},"result":{"type":"object","description":"Data sample body","example":"{\"id\":\"32455\", \"name\":\"Ben\", \"account-type\":\"Client\"}\n"}}},"relationships":{"type":"object","required":["component","component_version","workspace"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"component_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Revision of the component’s build. Use `latest` to retrieve the descriptor of the most recent successful build.","example":"latest"},"type":{"type":"string","description":"A value must be `version`","enum":["version"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/data-samples/{datasample_id}":{"get":{"tags":["data samples"],"summary":"Returns the specified data-sample.","description":"You have to be workspace's member which the data-sample is belonged to.","parameters":[{"in":"path","name":"datasample_id","description":"Data-sample identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `data-sample`\n","enum":["data-sample"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/data-samples/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["method","result"],"properties":{"method":{"type":"string","description":"Component’s action or trigger name.","example":"createOrUpdateRecord"},"result":{"type":"object","description":"Data sample body","example":"{\"id\":\"32455\", \"name\":\"Ben\", \"account-type\":\"Client\"}\n"}}},"relationships":{"type":"object","required":["component","component_version","workspace"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"component_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Revision of the component’s build. Use `latest` to retrieve the descriptor of the most recent successful build.","example":"latest"},"type":{"type":"string","description":"A value must be `version`","enum":["version"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["data samples"],"summary":"Update the specified data sample","description":"You need `workspaces.flow.edit` permission to access this resource","parameters":[{"in":"path","name":"datasample_id","description":"Data-sample identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","description":"Allowed value `data-sample`.","enum":["data-sample"]},"attributes":{"type":"object","required":["method","result"],"properties":{"method":{"type":"string","description":"Component’s action or trigger name.","example":"createOrUpdateRecord"},"result":{"type":"object","description":"Data sample body","example":"{\"id\":\"32455\", \"name\":\"Ben\", \"account-type\":\"Client\"}\n"}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `data-sample`\n","enum":["data-sample"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/data-samples/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["method","result"],"properties":{"method":{"type":"string","description":"Component’s action or trigger name.","example":"createOrUpdateRecord"},"result":{"type":"object","description":"Data sample body","example":"{\"id\":\"32455\", \"name\":\"Ben\", \"account-type\":\"Client\"}\n"}}},"relationships":{"type":"object","required":["component","component_version","workspace"],"properties":{"component":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be `component`","enum":["component"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}},"component_version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Revision of the component’s build. Use `latest` to retrieve the descriptor of the most recent successful build.","example":"latest"},"type":{"type":"string","description":"A value must be `version`","enum":["version"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67/versions/latest"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/topics":{"get":{"tags":["topics"],"summary":"Lists all topics of the specified workspace","description":"You need `workspaces.topic.get` permission to access this resource","parameters":[{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}},{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"search","description":"Search topics by a word or a phrase contained in a title. Behavior is similar to operator LIKE in SQL. Case insensitive. Leading/following spaces are trimmed","schema":{"type":"string","example":"topic"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `topic`\n","enum":["topic"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/topics/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string","description":"Name of the topic","example":"Topic name"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}},"relationships":{"type":"object","readOnly":true,"required":["workspace","user"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["topics"],"summary":"Creates a topic","description":"You need `workspaces.topic.create` permission to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `topic`\n","enum":["topic"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/topics/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string","description":"Name of the topic","example":"Topic name"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}},"relationships":{"type":"object","readOnly":true,"required":["workspace","user"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `topic`\n","enum":["topic"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/topics/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string","description":"Name of the topic","example":"Topic name"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}},"relationships":{"type":"object","readOnly":true,"required":["workspace","user"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/topics/{topic_id}":{"get":{"tags":["topics"],"summary":"Returns the specified topic from the defined workspace.","description":"You need `workspaces.topic.get` permission to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"topic_id","description":"Topic identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `topic`\n","enum":["topic"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/topics/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string","description":"Name of the topic","example":"Topic name"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}},"relationships":{"type":"object","readOnly":true,"required":["workspace","user"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["topics"],"summary":"Update the specified topic","description":"You need `workspaces.topic.edit` permission to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"topic_id","description":"Topic identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"Topic identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value `topic`.","enum":["topic"]},"attributes":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string","description":"Name of the topic","example":"Topic name"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value: `topic`\n","enum":["topic"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/topics/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string","description":"Name of the topic","example":"Topic name"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}},"relationships":{"type":"object","readOnly":true,"required":["workspace","user"],"properties":{"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["topics"],"summary":"Remove the specified topic.","description":"You need `workspaces.topic.delete` permission to access this resource.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"topic_id","description":"Topic identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/runtime-quota-usages/contracts/{contract_id}":{"get":{"tags":["runtime quota usages"],"summary":"Returns usage metrics (CPU and Memory) of the specified contract. Returns Memory (in MiB) and CPU (in milli CPU) usage.","description":"Memory usage is reported as a sum of RAM usage for each second during the specified period for each step. CPU usage is reported as an amount of consumed CPU for each step. Only a corresponding contract member can be authorized to access this resource.\n","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Start Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"End Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["memory","cpu"],"properties":{"memory":{"type":"integer","example":23039948},"cpu":{"type":"integer","example":68423815}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/runtime-quota-usages/contracts/{contract_id}/history":{"get":{"tags":["runtime quota usages"],"summary":"Returns usage history (CPU and Memory) of the specified contract within defined period. Returns Memory (in MiB) and CPU (in milli CPU) usage.","description":"Memory usage is reported as a sum of RAM usage for a day. CPU usage is reported as an amount of consumed CPU for a day. Only a corresponding contract member can be authorized to access this resource.\n","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Start Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"End Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"group_by","description":"Param to specify aggregation period. Format - 'day', 'month' (default: 'month')\n","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","memory","cpu"],"properties":{"id":{"type":"string","example":"2019-09-01"},"memory":{"type":"integer","example":23039948},"cpu":{"type":"integer","example":68423815}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/runtime-quota-usages/contracts/{contract_id}/messages-usage/history":{"get":{"tags":["runtime quota usages"],"summary":"Returns messages usage history of the specified contract within defined period.","description":"Returns aggregated message counts per month for all workspaces of the contract. Only a corresponding contract member or a client with global usage read permission can be authorized to access this resource.\nReturns aggregated message counts for the contract within the given period. By default the response is aggregated across all workspaces of the contract. When `per_workspace=true` is provided, the response contains per-workspace breakdown (each item includes `workspaceId`).\n","parameters":[{"in":"path","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Start Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"End Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"group_by","description":"Param to specify aggregation period. Format - 'day', 'month' (default: 'month')\n","schema":{"type":"string"}},{"in":"query","name":"per_workspace","description":"When set to `true`, returns usage history broken down per workspace. By default, the response is aggregated across all workspaces of the contract.\n","schema":{"type":"string"}},{"in":"query","name":"workspace_ids","description":"Optional list of workspace IDs to limit the messages usage history to. Can be repeated for multiple IDs. Only workspaces belonging to the contract are considered.\n","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","messagesCount"],"properties":{"id":{"type":"string","description":"First day of the usage month (YYYY-MM-DD).","example":"2024-01-01"},"messagesCount":{"type":"integer","description":"Total message count for the month across all contract workspaces.","example":1000}}}}}}}}},"400":{"description":"Bad Request (from and to query parameters are required)","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/runtime-quota-usages/workspaces/{workspace_id}":{"get":{"tags":["runtime quota usages"],"summary":"Returns usage metrics (CPU and Memory) of the specified workspace. Returns Memory (in MiB) and CPU (in milli CPU) usage.","description":"Memory usage is reported as a sum of RAM usage for each second during the specified period for each step. CPU usage is reported as an amount of consumed CPU for each step. Only a corresponding contract member can be authorized to access this resource.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Start Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"End Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["memory","cpu","flows"],"properties":{"memory":{"type":"integer","example":23039948},"cpu":{"type":"integer","example":68423815},"flows":{"type":"integer","example":15}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/runtime-quota-usages/workspaces/{workspace_id}/history":{"get":{"tags":["runtime quota usages"],"summary":"Returns usage history (CPU and Memory) of the specified workspace within defined period. Returns Memory (in MiB) and CPU (in milli CPU) usage.","description":"You have to be workspace member and have `contracts.workspace.listAll` permission to access this resource. Memory usage is reported as a sum of RAM usage for a day. CPU usage is reported as an amount of consumed CPU for a day.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Start Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"End Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"group_by","description":"Param to specify aggregation period. Format - 'day', 'month' (default: 'month')\n","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","memory","cpu"],"properties":{"id":{"type":"string","example":"2019-09-01"},"memory":{"type":"integer","example":23039948},"cpu":{"type":"integer","example":68423815}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/runtime-quota-usages/workspaces/{workspace_id}/flows":{"get":{"tags":["runtime quota usages"],"summary":"Returns usage metrics (CPU and Memory) for each flow that was active in the specified period in a certain workspace. Returns Memory (in MiB) and CPU (in milli CPU) usage.","description":"Memory usage is reported as a sum of RAM usage for each second during the specified period for each step. CPU usage is reported as an amount of consumed CPU for each step. Only a corresponding contract member can be authorized to access this resource.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Start Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"End Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["memory","cpu","id"],"properties":{"memory":{"type":"integer","example":23039948},"cpu":{"type":"integer","example":68423815},"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/runtime-quota-usages/flows/{flow_id}/history":{"get":{"tags":["runtime quota usages"],"summary":"Returns usage history (CPU and Memory) of the specified workspace within defined period. Returns Memory (in MiB) and CPU (in milli CPU) usage.","description":"You have to be workspace member to access this resource. Memory usage is reported as a sum of RAM usage for a day. CPU usage is reported as an amount of consumed CPU for a day.\n","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Start Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","description":"End Date of the period (inclusive). Format – ISO 8601.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"group_by","description":"Param to specify aggregation period. Format - 'day', 'month' (default: 'month')\n","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","memory","cpu"],"properties":{"id":{"type":"string","example":"2019-09-01"},"memory":{"type":"integer","example":23039948},"cpu":{"type":"integer","example":68423815}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}/versions/{git_revision}/verify-credential":{"post":{"tags":["scheduled executions"],"summary":"Starts the process of verifying a credential for the specified component.","description":"You need to have `workspaces.credential.edit` permission to access this resource.\nThe verification credential is an asynchronous process because it is accomplished by sending a request to an external API.\n","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"git_revision","description":"Revision of the component’s build. For latest version use `latest`.\n","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"description":"A value must be `verify-credential`.","type":"string","enum":["verify-credential"]},"attributes":{"type":"object","required":["fields"],"properties":{"fields":{"description":"An object which represents the configuration of credential.","type":"object","example":"{\"api_key\":\"api_secret\"}"},"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"Workspace identifier.","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"Value must be `workspace`","type":"string","enum":["workspace"]}}}}},"agent":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"Agent identifier.","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"Value must be `agent`","type":"string","enum":["agent"]}}}}}}}}}}}}}},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["execution-result"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/exec/result/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["result","status"],"properties":{"result":{"type":"object","example":"{}"},"status":{"type":"string","example":"Pending request, waiting other process"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}/versions/{git_revision}/dynamic-metadata":{"post":{"tags":["scheduled executions"],"summary":"Starts the process of retrieving dynamic metadata for the specified component.","description":"You need to have `workspaces.flow.edit` permission to access this resource.\nThe retrieval of metamodel is an asynchronous process because it is accomplished by sending a request to an external API.\n","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"git_revision","description":"Revision of the component’s build. For latest version use `latest`.\n","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"description":"A value must be `dynamic-metadata`.","type":"string","enum":["dynamic-metadata"]},"attributes":{"type":"object","required":["module","fields"],"properties":{"module":{"description":"Name of the component’s module as defined in `component.json`.","type":"string","example":"createPetWithPromiseUsingDynamicMetadata"},"fields":{"description":"Contains values for component’s fields.","type":"object","example":"{\"key\":\"value\"}"},"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"Workspace identifier.","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"Value must be `workspace`","type":"string","enum":["workspace"]}}}}},"credential":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"Credential identifier. If credentials are specified in the component’s descriptor, create a credential first and use its id.","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"Value must be `credential`","type":"string","enum":["credential"]}}}}},"agent":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"Agent identifier.","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"Value must be `agent`","type":"string","enum":["agent"]}}}}}}}}}}}}}},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["execution-result"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/exec/result/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["result","status"],"properties":{"result":{"type":"object","example":"{}"},"status":{"type":"string","example":"Pending request, waiting other process"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/components/{component_id}/versions/{git_revision}/select-model":{"post":{"tags":["scheduled executions"],"summary":"Starts the process of retrieving component's select model for the specified component.","description":"You need to have `workspaces.flow.edit` permission to access this resource.\nThe retrieval of select model is an asynchronous process because it is accomplished by sending a request to an external API.\n","parameters":[{"in":"path","name":"component_id","description":"Component identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"git_revision","description":"Revision of the component’s build. For latest version use `latest`.\n","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"description":"A value must be `select-model`.","type":"string","enum":["select-model"]},"attributes":{"type":"object","required":["module","method","fields"],"properties":{"module":{"description":"Name of the component’s module as defined in `component.json`.","type":"string","example":"createPetWithPromiseUsingDynamicMetadata"},"method":{"description":"Name of the method, which returns select model data.","type":"string","example":"getStatusModel"},"fields":{"description":"Contains values for component’s fields.","type":"object","example":"{\"key\":\"value\"}"},"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"Workspace identifier.","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"Value must be `workspace`","type":"string","enum":["workspace"]}}}}},"credential":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"Credential identifier. If credentials are specified in the component’s descriptor, create a credential first and use its id.","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"Value must be `credential`","type":"string","enum":["credential"]}}}}},"agent":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"Agent identifier.","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"Value must be `agent`","type":"string","enum":["agent"]}}}}}}}}}}}}}},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["execution-result"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/exec/result/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["result","status"],"properties":{"result":{"type":"object","example":"{}"},"status":{"type":"string","example":"Pending request, waiting other process"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/exec/poll/{execution_id}":{"get":{"tags":["scheduled executions"],"summary":"Returns the state of the specified execution.","description":"Once the execution is done, the endpoint responds with `HTTP 303` and provides a resource for querying the result in the `Location` header.","parameters":[{"in":"path","name":"execution_id","description":"Execution identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["execution-result"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/exec/result/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["result","status"],"properties":{"result":{"type":"object","example":"{}"},"status":{"type":"string","example":"Pending request, waiting other process"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"303":{"description":"See other","content":{"application/json":{"schema":{"type":"object","description":"The execution is finished and the result is ready. Resource to get the result is found in the Location header.","required":["data","meta"],"properties":{"data":{"type":"object","example":"{}"},"meta":{"type":"object","example":"{}"}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/exec/result/{execution_id}":{"get":{"tags":["scheduled executions"],"summary":"Returns the result of the specified execution.","description":"When execution is in progress and result is not ready yet, HTTP status code `409` is returned.","parameters":[{"in":"path","name":"execution_id","description":"Execution identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["execution-result"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/exec/result/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":null,"anyOf":[{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":"{\n\"some_field_of_result\":\"value\",\n\"another_field\":\"another_value\"\n}"}}},{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Execution 5b4f337bff4304610483ba67.verifycredentials failed"}}}}}]}}}}},"meta":{"type":"object","example":"{}"}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/flows/{flow_id}/snapshots":{"get":{"tags":["snapshots"],"summary":"Lists all snapshots for all steps in specified flow.","description":"You have to be a member of the workspace’s scope, where the specified flow is located","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"step_1"},"type":{"type":"string","enum":["snapshot"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/snapshots/step_1"}}},"attributes":{"type":"object","required":["snapshot"],"properties":{"snapshot":{"type":"object","example":"{\"skipNumber\": 15,\"tableName\": \"public_qa_persons\"}"}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["snapshots"],"summary":"Creates step snapshot in the specified flow.","description":"You need `workspaces.flow.edit` permission to access this resource\n**Notice** It’s forbidden to create snapshot for step, that does not exist in flow and create snapshot for step, if snapshot already exists.\n","parameters":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id","attributes"],"properties":{"type":{"type":"string","required":true,"description":"A value must be `snapshot`","enum":["snapshot"]},"id":{"type":"string","required":true,"description":"Step identifier","example":"step_1"},"attributes":{"type":"object","required":["snapshot"],"properties":{"snapshot":{"description":"The body of the snapshot. The value may be anything except `undefined`.","type":"object","required":true,"example":"{\"skipNumber\": 10,\"tableName\": \"public_qa_persons\"}"}}}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id","attributes"],"properties":{"type":{"type":"string","required":true,"description":"A value must be `snapshot`","enum":["snapshot"]},"id":{"type":"string","required":true,"description":"Step identifier","example":"step_1"},"attributes":{"type":"object","required":["snapshot"],"properties":{"snapshot":{"description":"The body of the snapshot. The value may be anything except `undefined`.","type":"object","required":true,"example":"{\"skipNumber\": 10,\"tableName\": \"public_qa_persons\"}"}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"step_1"},"type":{"type":"string","enum":["snapshot"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/snapshots/step_1"}}},"attributes":{"type":"object","required":["snapshot"],"properties":{"snapshot":{"type":"object","example":"{\"skipNumber\": 15,\"tableName\": \"public_qa_persons\"}"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/flows/{flow_id}/snapshots/{step_id}":{"get":{"tags":["snapshots"],"summary":"Returns snapshot for the specified step in the defined flow.","description":"You have to be a member of the workspace’s scope, where the specified flow is located","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"step_id","description":"Step identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"step_1"},"type":{"type":"string","enum":["snapshot"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/snapshots/step_1"}}},"attributes":{"type":"object","required":["snapshot"],"properties":{"snapshot":{"type":"object","example":"{\"skipNumber\": 15,\"tableName\": \"public_qa_persons\"}"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["snapshots"],"summary":"Update the specified snapshot for the defined step in a flow","description":"You have to be a member of the workspace’s scope, where the specified flow is located and have `workspaces.flow.edit` permission.\n**Notice** It’s forbidden to edit snapshot for step, that does not exist in flow and edit snapshot for step, if snapshot already exists.\n","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"step_id","description":"Step identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id","attributes"],"properties":{"type":{"type":"string","required":true,"description":"A value must be `snapshot`","enum":["snapshot"]},"id":{"type":"string","required":true,"description":"Step identifier","example":"step_1"},"attributes":{"type":"object","required":["snapshot"],"properties":{"snapshot":{"description":"The body of the snapshot. The value may be anything except `undefined`.","type":"object","required":true,"example":"{\"skipNumber\": 10,\"tableName\": \"public_qa_persons\"}"}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"step_1"},"type":{"type":"string","enum":["snapshot"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/snapshots/step_1"}}},"attributes":{"type":"object","required":["snapshot"],"properties":{"snapshot":{"type":"object","example":"{\"skipNumber\": 15,\"tableName\": \"public_qa_persons\"}"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["snapshots"],"summary":"Remove the step snapshot for the specified flow.","description":"You need `workspaces.flow.edit` permission to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"step_id","description":"Step identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/versions":{"get":{"tags":["flow versions"],"summary":"Lists all Flow versions based on the specified Flow Id","description":"You need workspace memberships to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}},{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"abfa4217d0ad4f232c2908e1db1d3a19fbbf6a62"},"type":{"type":"string","enum":["flow-version"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/abfa4217d0ad4f232c2908e1db1d3a19fbbf6a62"}}},"attributes":{"type":"object","required":["name","description","graph","created_at","nodes_config"],"properties":{"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"}}},"relationships":{"type":"object","required":["user","flow"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}}}},"flow":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}}}}}}}}},"meta":{"type":"object","required":["page","per_page","total","total_pages"],"properties":{"page":{"type":"integer","example":1},"per_page":{"type":"integer","example":50},"total":{"type":"integer","example":21},"total_pages":{"type":"integer","example":1}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/versions/{version_hash}":{"get":{"tags":["flow versions"],"summary":"Returns Flow version based on the specified Flow Id and version hash","description":"You need workspace memberships to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"version_hash","description":"Version hash","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"abfa4217d0ad4f232c2908e1db1d3a19fbbf6a62"},"type":{"type":"string","enum":["flow-version"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/abfa4217d0ad4f232c2908e1db1d3a19fbbf6a62"}}},"attributes":{"type":"object","required":["name","description","graph","created_at","nodes_config"],"properties":{"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"}}},"relationships":{"type":"object","required":["user","flow"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}}}},"flow":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/draft":{"get":{"tags":["flow drafts"],"summary":"Returns a Flow Draft based on the specified Flow Id","description":"You need workspace memberships to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-draft"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/draft"}}},"attributes":{"type":"object","required":["name","description","graph","created_at","updated_at","nodes_config"],"properties":{"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"snapshot":{"type":"object","description":"Snapshot summary","example":"{\"Body of snapshot\"}"}}},"relationships":{"type":"object","required":["user","flow"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"flow":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"put":{"tags":["flow drafts"],"summary":"Creates/Updates Flow Draft based on the specified Flow Id","description":"You need workspace memberships to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["flow-draft"]},"attributes":{"type":"object","required":["name","description","graph","created_at","updated_at","nodes_config"],"properties":{"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"snapshot":{"type":"object","description":"Snapshot summary","example":"{\"Body of snapshot\"}"}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-draft"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/draft"}}},"attributes":{"type":"object","required":["name","description","graph","created_at","updated_at","nodes_config"],"properties":{"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"snapshot":{"type":"object","description":"Snapshot summary","example":"{\"Body of snapshot\"}"}}},"relationships":{"type":"object","required":["user","flow"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"flow":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["flow drafts"],"summary":"Remove Flow Draft based on the specified Flow Id","description":"You need workspace memberships to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/sshkeys":{"get":{"tags":["sshkeys"],"summary":"Lists all SSH keys of the current user","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["sshkey"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/sshkeys/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["key","title","fingerprint"],"properties":{"key":{"type":"string","example":"ssh-rsa AAAAB3NzaC1yc2EAFFFDAQABAAABAQDf0QiuqfcAMXK58vbHcS6DjPLk9052gtui/ApRF8GhzzEUtPdeqLEsf1MIJx61dd0E6UdmW4AIbwDcTOMWz0f+9Ue7AypkPwn+kt9y6JOdW+GC+f+2wJzR3ySgq8XGrgsHmANlegZIlzyFGqm4YbGdxqTtBENrJZGQpayGMcI72662HNyCLPml+lWr6cYaK7r0WLEmoZefzuLgO3VMVIaGK9B+5unQ0R2UMozwJJutYTCJAlnTIvO3BceHcrNnEAjYuvx1khdNd3+4Mrs/Q1LTzavqVy/Ot9ZpK3xah4bnFHbcunVzlCeiY5HLTfrcSgmsa9xhgj+viMJj"},"title":{"type":"string","example":"my ssh key"},"fingerprint":{"type":"string","example":"fd:d4:98:92:ed:d7:3a:0c:a2:42:ff:55:57:15:88:fa"}}},"relationships":{"type":"object","required":["user"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/sshkeys"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}},"post":{"tags":["sshkeys"],"summary":"Creates a new SSH key","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"description":"A value must be `sshkey`","type":"string","enum":["sshkey"]},"attributes":{"type":"object","required":["key","title"],"properties":{"key":{"description":"A valid RSA or DSA SSH public key.","type":"string","example":"ssh-rsa AAAAB3NzaC1yc2EAFFFDAQABAAABAQDf0QiuqfcAMXK58vbHcS6DjPLk9052gtui/ApRF8GhzzEUtPdeqLEsf1MIJx61dd0E6UdmW4AIbwDcTOMWz0f+9Ue7AypkPwn+kt9y6JOdW+GC+f+2wJzR3ySgq8XGrgsHmANlegZIlzyFGqm4YbGdxqTtBENrJZGQpayGMcI72662HNyCLPml+lWr6cYaK7r0WLEmoZefzuLgO3VMVIaGK9B+5unQ0R2UMozwJJutYTCJAlnTIvO3BceHcrNnEAjYuvx1khdNd3+4Mrs/Q1LTzavqVy/Ot9ZpK3xah4bnFHbcunVzlCeiY5HLTfrcSgmsa9xhgj+viMJj"},"title":{"description":"Title of the key","type":"string","example":"My SSH key"}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["sshkey"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/sshkeys/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["key","title","fingerprint"],"properties":{"key":{"type":"string","example":"ssh-rsa AAAAB3NzaC1yc2EAFFFDAQABAAABAQDf0QiuqfcAMXK58vbHcS6DjPLk9052gtui/ApRF8GhzzEUtPdeqLEsf1MIJx61dd0E6UdmW4AIbwDcTOMWz0f+9Ue7AypkPwn+kt9y6JOdW+GC+f+2wJzR3ySgq8XGrgsHmANlegZIlzyFGqm4YbGdxqTtBENrJZGQpayGMcI72662HNyCLPml+lWr6cYaK7r0WLEmoZefzuLgO3VMVIaGK9B+5unQ0R2UMozwJJutYTCJAlnTIvO3BceHcrNnEAjYuvx1khdNd3+4Mrs/Q1LTzavqVy/Ot9ZpK3xah4bnFHbcunVzlCeiY5HLTfrcSgmsa9xhgj+viMJj"},"title":{"type":"string","example":"my ssh key"},"fingerprint":{"type":"string","example":"fd:d4:98:92:ed:d7:3a:0c:a2:42:ff:55:57:15:88:fa"}}},"relationships":{"type":"object","required":["user"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}}},"/sshkeys/{key_id}":{"delete":{"tags":["sshkeys"],"summary":"Remove the specified SSH key","description":"This resource allows you to delete only your own key.\n","parameters":[{"in":"path","name":"key_id","description":"SSH key identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows":{"get":{"tags":["flows"],"summary":"Lists all Flows with the specified Workspace Id","description":"You need workspace memberships to access this resource","parameters":[{"in":"query","name":"workspace_id","required":true,"description":"An Id of the Workspace","schema":{"type":"string","example":"workspace_id"}},{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}},{"in":"query","name":"filter[has_draft]","description":"Filter flows only with or without a draft","schema":{"type":"boolean","example":true}},{"in":"query","name":"filter[status]","description":"Filter by status","schema":{"type":"array","items":{"type":"string","enum":["active","inactive"]}}},{"in":"query","name":"filter[type]","description":"Filter by flow type","schema":{"type":"array","items":{"type":"string","enum":["ordinary","long_running"]}}},{"in":"query","name":"filter[user]","description":"Filter by user. Must be id of User who created the flow. User could be found in relationships of the flow","schema":{"type":"array","items":{"type":"string","example":"user_id"}}},{"in":"query","name":"filter[component_id]","description":"Filter by component_id (id of component which is used in flow)","schema":{"type":"array","items":{"type":"string","example":"component_id"}}},{"in":"query","name":"include","description":"Include information about flow-containers and descriptor","schema":{"type":"string","enum":["flow-containers","descriptor"]}},{"in":"query","name":"sort","description":"Sort flows list by certain field. Prefix field name with - for reversed (desc) order e.g. sort=-updated_at. Default sort is by id\n","schema":{"type":"string","enum":["created_at","updated_at","name","-created_at","-updated_at","-name"]}},{"in":"query","name":"search","description":"Search flows by a word or a phrase contained in a description OR in a name. Behavior is similar to operator LIKE in SQL. Case insensitive. Leading/following spaces are trimmed","schema":{"type":"string","example":"webhook"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"type":"object","allOf":[{"type":"object","properties":{"attributes":{"type":"object","properties":{"favorite":{"type":"boolean","default":false}}}}},{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}}]}},"meta":{"type":"object","required":["page","per_page","total","total_pages"],"properties":{"page":{"type":"integer","example":1},"per_page":{"type":"integer","example":50},"total":{"type":"integer","example":21},"total_pages":{"type":"integer","example":1}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows"}}},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-container"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/flow-containers/5b4f337bff4304610483ba67_mapper:step_1:step_2"}}},"attributes":{"type":"object","required":["step_id"],"properties":{"step_id":{"type":"string","example":"mapper:step_1:step_2"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}},"post":{"tags":["flows"],"summary":"Creates a Flow","description":"You need `workspaces.flow.edit` permission to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-container"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/flow-containers/5b4f337bff4304610483ba67_mapper:step_1:step_2"}}},"attributes":{"type":"object","required":["step_id"],"properties":{"step_id":{"type":"string","example":"mapper:step_1:step_2"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/flows/deleted":{"get":{"tags":["flows"],"summary":"List deleted Flows","description":"You need `tenants.flow.view_deleted` permission to get deleted flows","parameters":[{"in":"query","name":"workspace_id","required":true,"description":"An Id of the Workspace","schema":{"type":"string","example":"workspace_id"}},{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}}},"meta":{"type":"object","required":["page","per_page","total","total_pages"],"properties":{"page":{"type":"integer","example":1},"per_page":{"type":"integer","example":50},"total":{"type":"integer","example":21},"total_pages":{"type":"integer","example":1}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows"}}},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-container"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/flow-containers/5b4f337bff4304610483ba67_mapper:step_1:step_2"}}},"attributes":{"type":"object","required":["step_id"],"properties":{"step_id":{"type":"string","example":"mapper:step_1:step_2"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/flows/start-debug":{"post":{"tags":["flows"],"summary":"Creates a Debug Flow","description":"You need `workspaces.flow.toggleStatus` permission to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","meta","relationships"],"properties":{"type":{"type":"string","enum":["flow"]},"attributes":{"type":"object","required":["name","type","graph"],"properties":{"name":{"type":"string","example":"Debug core/code:execute@2b213e3d90cae3c4721430c623d85a2413cd405e"},"type":{"type":"string","enum":["debug"]},"graph":{"type":"object","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"type":"object","required":["id","fields","command","error"],"properties":{"id":{"type":"string","example":"step_2"},"fields":{"type":"object","example":"{\"result\" : \"Hello world!\"}"},"command":{"type":"string","example":"core/code:execute@2b213e3d90cae3c4721430c623d85a2413cd405e"},"vpn_agent_id":{"type":"string","example":"61b9ed068a96b4001138ffc5"},"error":{"type":"boolean","example":false}}}},"edges":{"type":"array","items":{"type":"object","required":["config","source","target"],"properties":{"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper":{"type":"object","example":"{}"},"condition":{"type":"string","nullable":true}}},"source":{"type":"string","example":"step_1"},"target":{"type":"string","example":"step_2"}}}}}},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"}}}}}}},"meta":{"type":"object","required":["sampleData"],"properties":{"sampleData":{"required":["body","passthrough"],"properties":{"body":{"type":"object","example":"{}"},"passthrough":{"type":"object","example":"{\"step_1\":{\"body\":{}}}"}}}}},"relationships":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}}}}},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["api_version","created_at","current_status","default_mapper_type","description","nodes_config","last_modified","name","status","type","updated_at","stats_enabled","timeout"],"properties":{"api_version":{"type":"string","readOnly":true,"example":"2.0"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"default_mapper_type":{"type":"strig","enum":["jsonata"]},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"nodes_config":{"type":"object","example":"{}"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","example":"Debug core/code:execute@2b213e3d90cae3c4721430c623d85a2413cd405e"},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"type":{"type":"string","enum":["debug"]},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"timeout":{"type":"integer","exapmle":120}}},"relationships":{"type":"object","required":["queue"],"properties":{"queue":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67.5b4f337bff4304610483ba67.debug"},"type":{"type":"string","enum":["queue-name"]}}}}}}}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/flows/{flow_id}":{"get":{"tags":["flows"],"summary":"Returns the Flow based on the specified Flow Id","description":"You need workspace memberships to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"include","description":"Include information about flow-containers and descriptor","schema":{"type":"string","enum":["flow-containers","descriptor"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-container"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/flow-containers/5b4f337bff4304610483ba67_mapper:step_1:step_2"}}},"attributes":{"type":"object","required":["step_id"],"properties":{"step_id":{"type":"string","example":"mapper:step_1:step_2"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["flows"],"summary":"Update the Flow based on the specified Flow Id","description":"You need `workspaces.flow.edit` permission to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"Flow Id must be same as url parameter","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-container"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/flow-containers/5b4f337bff4304610483ba67_mapper:step_1:step_2"}}},"attributes":{"type":"object","required":["step_id"],"properties":{"step_id":{"type":"string","example":"mapper:step_1:step_2"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}}]}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}},"delete":{"tags":["flows"],"summary":"Remove the Flow based on the specified Flow Id","description":"You need `workspaces.flow.edit` permission to access this resource\n","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/restore":{"post":{"tags":["flows"],"summary":"Restore deleted a Flow based on the specified Flow Id","description":"You need `tenant.flow.restore` permission to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/toggle-favourite":{"patch":{"tags":["flows"],"summary":"Adding/Removing flow from users favorite list","description":"You need `flow.edit` permission to access this resource","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"allOf":[{"type":"object","properties":{"attributes":{"type":"object","properties":{"favorite":{"type":"boolean","default":false}}}}},{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/notes":{"get":{"tags":["flows"],"summary":"Get Flow Notes","description":"Returns a flow Notes HTML Content","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","description":"Flow notes identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value `task-notes`.","enum":["task-notes"]},"attributes":{"type":"object","properties":{"note":{"type":"string","description":"Flow note html content","example":"<h1>Title</h1>"},"flow_id":{"type":"string","description":"Flow identifier.","example":"5b4f337bff4304610483ba67"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `flow`","enum":["flow"]}}}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["flows"],"summary":"Adding/Updating flow Notes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","description":"Flow notes identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value `task-notes`.","enum":["task-notes"]},"attributes":{"type":"object","properties":{"note":{"type":"string","description":"Flow note html content","example":"<h1>Title</h1>"}}}}}}}}}},"parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"description":"You need `flow.edit` permission to access this resource","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","description":"Flow notes identifier. It has to match the identifier specified in the path.","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value `task-notes`.","enum":["task-notes"]},"attributes":{"type":"object","properties":{"note":{"type":"string","description":"Flow note html content","example":"<h1>Title</h1>"},"flow_id":{"type":"string","description":"Flow identifier.","example":"5b4f337bff4304610483ba67"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value is `flow`","enum":["flow"]}}}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/start":{"post":{"tags":["flows"],"summary":"Start a Flow based on the specified Flow Id","description":"You need `workspaces.flow.toggleStatus` permission to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-container"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/flow-containers/5b4f337bff4304610483ba67_mapper:step_1:step_2"}}},"attributes":{"type":"object","required":["step_id"],"properties":{"step_id":{"type":"string","example":"mapper:step_1:step_2"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/flows/{flow_id}/run-now":{"post":{"tags":["flows"],"summary":"Run an active Flow based on the specified Flow Id","description":"You need `workspaces.flow.toggleStatus` permission to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","example":"{}"},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/flows/{flow_id}/suspend":{"post":{"tags":["flows"],"summary":"Suspend an active Flow based on the specified Flow Id","description":"You need `workspaces.flow.toggleStatus` permission to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","example":"{}"},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/flows/{flow_id}/stop":{"post":{"tags":["flows"],"summary":"Stop an active Flow based on the specified Flow Id","description":"You need `workspaces.flow.toggleStatus` permission to access this resource","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","example":"{}"},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/flows/{flow_id}/copy":{"post":{"tags":["flows"],"summary":"Copy a Flow based on the specified Flow Id","description":"You need `workspaces.flow.edit` permission and belong to workspace containing source flow to access this resource\nFlow can be copied in two modes:\n* as new flow\n* as a draft of existing flow\n\nModes are mutually exclusive (see example requests)\n\nIn both cases flow is copied into draft of new/existing flow. So to make flow to work draft should be published manually. That is done to avoid disruptions of already running flow (flow is not stopped or changed in any other way except draft), and because most likely flow copy will require additional configuration.\nFlow can be copied in any workspace and contract, of course if user has enough privileges to read original flow and has enough privileges to edit flow in destination workspace.\nPlatform forbids to copy flow if flow components can not be used in destination context (e.g. component visibility is restricted to team, and you are copying flow in another contract)\n\n**Notices:**\n 1. The topic (`data.attributes.topic_id`) must be accessible to the flow in the destination workspace, otherwise it will not be copied.\n 2. It's forbidden to use the `data.attributes.topic_id` parameter if flow does not contain at least one step with Pub/Sub component.\n 3. It's forbidden to use the `data.attributes.topic_id` parameter if your flow uses more than one Pub/Sub topic in different steps. You can copy the flow if your flow has several Pub/Sub steps that uses only one topic.\n 4. In case when the `data.attributes.topic_id` parameter is absent from your call, topics ID will be removed from a copy if it's not accessible and left intact if the topic is available in destination context.\n\nPlease note the following facts about credentials, secrets, topics and agents used in flow:\n - All these entities are not copied along with the flow if they are not accessible in the destination context.\n - Naturally, if the flow is copied into the same workspace, these entities will be accessible to the flow draft.\n - Topic can be replaced during copy. Read details about `data.attributes.topic_id` parameter.\n","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["flow-copy"]},"attributes":{"type":"object","required":["dest_flow_id"],"properties":{"dest_flow_id":{"type":"string","description":"Destination flow identifier","example":"5b4f337bff4304610483ba67"},"name":{"type":"string","description":"Makes possible to customize name of the draft (and flow when new flow is created)","example":"My new Flow"},"topic_id":{"type":"string","description":"Required only if flow contains Pub-Sub components. Only one topic reference allowed","example":"5b4f337bff4304610483ba67"}}}}}}},{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"type":"string","enum":["flow-copy"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Makes possible to customize name of the draft (and flow when new flow is created)","example":"My new Flow"},"topic_id":{"type":"string","description":"Required only if flow contains Pub-Sub components. Only one topic reference allowed","example":"5b4f337bff4304610483ba67"}}},"relationships":{"type":"object","required":["dest_workspace"],"properties":{"dest_workspace":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Destination workspace identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}}}}}}}]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-container"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/flow-containers/5b4f337bff4304610483ba67_mapper:step_1:step_2"}}},"attributes":{"type":"object","required":["step_id"],"properties":{"step_id":{"type":"string","example":"mapper:step_1:step_2"}}},"relationships":{"type":"object","required":["flow"],"properties":{"flow":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}}}}}}}},{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["descriptor"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/descriptors/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}},"attributes":{"type":"object","required":["repo_name","team_name","short_revision","is_latest","description","icon","language","sailor_version","title"],"properties":{"repo_name":{"type":"string","example":"simple-trigger-component"},"team_name":{"type":"string","example":"core"},"short_revision":{"type":"string","example":"81ff4c0"},"is_latest":{"type":"boolean","example":true},"description":{"type":"string","example":"A component used to trigger integration flows without requesting data from any services."},"icon":{"type":"string","description":"Component icon as base64 string","example":"iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjYzQUQ2ODYxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjYzQUQ2ODcxMUExMTFFOTk1NkY4RDc3MjQ0OTdBMTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNjNBRDY4NDExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNjNBRDY4NTExQTExMUU5OTU2RjhENzcyNDQ5N0ExNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnvRw2oAAAQJSURBVHja3FpNTBNBFB4WaCkSIUr5KQoEI4oHDcYD8YQ3uZho8KARjQcjYryAiQe9mMhN4sFglBNRAgeDHOGkNREtYESQWgElUIzyU5BiKy0g+l47jdBuu9ntzHbXl3y0dHbmzTcz7293kw7XtxDOcgDQ5Jmdxu/XAJ95KhM4jp0FuAsYBBynsNPfsvRECMesA4wDGgCGTW0G+hu2XeKhn/WAlYC3gGZAdozrsK2FXlupRUJFgGeAF4ByGf3KaZ+ngEItEMoA3AE4ACfjGKca8ImOlZEIQkmAc4AxwE2AicHimuhYOOYZqkMVQhWA14AngHwOTgXHbKc6KngSQkWPlSqKY+Fa5SycIPMo1Cg9CnEc7QtyjrYUITT0jyyMlZHzGZFyPoKEO0VXXEy0IyVS4UEQCXjNPAIehwA+IBbAQ4RSN6UkdZxzPFaSLJZiCTRpfM87aVQrCU6BP93k/xAsU7pTeI2eZsklgsn473yYtzpJ94iDi14uhARTGrGcPhHzmqn2Di6kuBh/esnumO2//X7inXTqp2I15phjtv8cHSPrHq9+CJkKYqdenokv+rmngPZj2Lkjavua200W+9/ph5CU/SyPjnL13YLa9uOy9XEllKKm/fjm5oh/Zp4Y88xk+75SYsq3kG1FhSQ1MzPg+ey3G7VHKJb9JBuNpOxGQ4BAuGz4fNrbofQ9sW/ciBEJyY+hIe3ZkDHXrKgfHjfXqzfaI2QqsCjqt9DXxyzQMiWUZslT1I/V7jAlJGU/0WRp+APTNEjgbT+rC4vEPWwPZAhiMmu1ajMOrbmXie/bTOC737VA/HPz5NfENNlYCbrjjNrzoruDcUmThDz28QCiFXsYgyKcQf+APrLtCO9XvCviN6/TSbwTk/okZDRni3i2Xv3UQxE7FObOcXd43VPgTgjtJ8lg2FpCOBzc9Alq2w+67/mXvfolFG4/LptNXwVeLPvhvTvcCYXbD6sSIWGEsDLlUSIkjlBONpcSIYFHLp9LiSBFqIoE3xFgLhurq4FPzLZV2B18DluFyWkP4DkJvil1izB8RvS1rVONTVkiweev97FaCR05XMomwF7AQ1xcon3BObbQOTdRDhE25AJcARwBWDVMxkrneJnOWdIp4OO9Y4BTgCkNEcFnMNV0boNKvFwXoIzalieBRDx0DvsBnfG67RUA3qMtJcH3e/6oSAR1dVDdjXQuzOLQdwDeGDgKsKlAxkZ1naW6uQXWkKIaOYpkLtxFpQsnxHEU2uQcBZlHu1Xp0RYYGmtXHONg34MsnA+rXM5JXXxUdxpFhjaFBybvc7NOTkMBrzY84IkE8Ks8AjiPbBtTkkfhKQmVdcA92vaA/q+b8gGTxuvUNnooDgHqaRsX+SvAAEcsMLDm5qd5AAAAAElFTkSuQmCC"},"language":{"type":"string","example":"nodejs"},"sailor_version":{"type":"string","example":"2.6.25"},"title":{"type":"string","example":"Simple trigger"},"triggers":{"type":"object","example":"{\"timer\":{\"title\":\"Simple trigger\",\"main\":\".\\/lib\\/trigger.js\",\"type\":\"polling\",\"metadata\":{\"out\":{\"type\":\"object\",\"properties\":{\"fireTime\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true},\"lastPoll\":{\"type\":\"string\",\"format\":\"date-time\",\"required\":true}}}}}}"}}},"relationships":{"type":"object","required":["version"],"properties":{"version":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"81ff4c02f436caa96fecdfcbe1acd63b7c187cad"},"type":{"type":"string","enum":["version"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/5b4f337bff4304610483ba67/versions/81ff4c02f436caa96fecdfcbe1acd63b7c187cad"}}}}}}}}}]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/flows/copy_many":{"post":{"tags":["flows"],"summary":"Copy a Flows based on the specified Flow Ids","description":"You need `workspaces.flow.edit` permission and belong to workspace containing source flow to access this resource\nFlows can be copied only to another workspace, if you copy many flows at once you can not copy them in to existing flows\n\n\nFlow is copied into draft of new/existing flow. So to make flow to work draft should be published manually. That is done to avoid disruptions of already running flow (flow is not stopped or changed in any other way except draft), and because most likely flow copy will require additional configuration.\nFlow can be copied in any workspace and contract, of course if user has enough privileges to read original flow and has enough privileges to edit flow in destination workspace.\nPlatform forbids to copy flow if flow components can not be used in destination context (e.g. component visibility is restricted to team, and you are copying flow in another contract)\n\n**Notices:**\n 1. The topic (`data.attributes[topic_id]`) must be accessible to the flow in the destination workspace, otherwise it will not be copied.\n 2. It's forbidden to use the `data.attributes[topic_id]` parameter if flow does not contain at least one step with Pub/Sub component.\n 3. It's forbidden to use the `data.attributes[topic_id]` parameter if your flow uses more than one Pub/Sub topic in different steps. You can copy the flow if your flow has several Pub/Sub steps that uses only one topic.\n 4. In case when the `data.attributes[topic_id]` parameter is absent from your call, topics ID will be removed from a copy if it's not accessible and left intact if the topic is available in destination context.\n 5. In case if one of the flows has more then one topic but only one was provided, has no topics and one was provided, some components are hidden from destination workspace, or quota was exuded the flow will be put to errored array along with the reason of rejection\n\nPlease note the following facts about credentials, secrets, topics and agents used in flow:\n - All these entities are not copied along with the flow if they are not accessible in the destination context.\n - Naturally, if the flow is copied into the same workspace, these entities will be accessible to the flow draft.\n - Topic can be replaced during copy. Read details about `data.attributes.topic_id` parameter.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"type":"string","enum":["flow-copy-many"]},"attributes":{"type":"array","items":{"type":"object","required":["flow_id"],"properties":{"name":{"type":"string","description":"Makes possible to customize name of the draft (and flow when new flow is created)","example":"My new Flow"},"flow_id":{"type":"string","description":"Id of flow that will be coped to another workspace","example":"5b4f337bff4304610483ba67"},"topic_id":{"type":"string","description":"Required only if flow contains Pub-Sub components. Only one topic reference allowed","example":"5b4f337bff4304610483ba67"}}}},"relationships":{"type":"object","required":["dest_workspace"],"properties":{"dest_workspace":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Destination workspace identifier can not be the same as current workspace identifier","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"object","required":["coped","errored"],"properties":{"coped":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","graph","default_mapper_type","cron","api_version","created_at","last_modified","current_status","status"],"properties":{"default_mapper_type":{"type":"strig","enum":["jsonata"]},"type":{"type":"string","description":"You need `workspaces.flow.toggleRealtime` permission to set `long_running` value\n","enum":["ordinary","long_running"]},"nodes_config":{"type":"object","properties":{"step_id":{"type":"object","description":"The Id of flow step. Format: step_1, step_2, step_n\n","properties":{"log_level":{"type":"string","description":"Log level of component running in this step","enum":["trace","debug","info","warn","error","fatal"],"default":"info"},"replicas":{"type":"integer","description":"This parameter configures the maximum container replicas, that can be run simultaneously","default":1,"maximum":5},"passthrough":{"type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean","description":"This parameter toggles passthrough for a step"}}},"consume_raw_data":{"type":"boolean","description":"This parameter configures the parsing behaviour in the webhook step. In case it is true, webhook step receives input message in raw structure.","default":false},"prefetch":{"type":"integer","description":"This parameter configures the maximum amount of messages, that the step can process simultaneously","default":1},"disable_dynamic_flow_control":{"type":"boolean","description":"This parameter configures disabling publisher confirms in sailor. Supports only for components with sailor-jvm version above 3.3.5 and sailor-nodejs version above 2.6.10\n","default":false},"persistent_messages":{"type":"boolean","description":"This parameter configures messages persistence in sailor. Supports only for components with JVM sailor version above 3.4.0 and NodeJS sailor above 2.7.0\n"}}}},"example":"{\"step_1\":{\"log_level\":\"warn\",\"replicas\":2,\"passthrough\":{\"disabled\":true},\"prefetch\":4,\"disable_dynamic_flow_control\":false,\"persistent_messages\":false, \"consume_raw_data\": false}}"},"created_at":{"type":"string","readOnly":true,"format":"date-time","example":"2020-01-12T14:50:42.215Z"},"last_modified":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"},"name":{"type":"string","description":"Name of your Flow","example":"PetStore to Email Flow"},"description":{"type":"string","description":"Flow description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","nullable":true},"cron":{"type":"string","example":"*/3 * * * *","nullable":true},"variables":{"type":"object","description":"Flow Variables","example":"{\"var1\":\"value1\",\"var2\":\"value2\"}"},"shut_down_timeout":{"type":"integer","description":"*Flow Shutdown Timeout*\n\nThe maximum time, in minutes, that a flow will wait after processing the last message before terminating.\nIf new messages are received during this time, the flow will continue processing them.\n","example":5,"default":0},"graph":{"type":"object","description":"Flow graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"petStore"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/petStore:getPetsByStatus@51ff8236dd1d461f67111b145f69441bafdeb710"},"fields":{"type":"object","example":"{\"status\":[\"pending\"]}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"credentials_id":{"type":"string","example":"609e6f5164b6470011d26387"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}},{"type":"object","required":["command","id","component_id","selected_data_samples"],"properties":{"name":{"type":"string","example":"Email"},"description":{"type":"string","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"command":{"type":"string","example":"core/email:send@70f0caf7d79ab972e4d36c602286d7d9650bb356"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"selected_data_samples":{"type":"array","items":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target","id","config","source"],"properties":{"id":{"type":"string","readOnly":true,"example":"mapper:step_1:step_2"},"target":{"type":"string","example":"step_2"},"source":{"type":"string","example":"step_1"},"config":{"type":"object","required":["mapper","condition"],"properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"object","example":"{\"to\":\"\\\"foo@example.com\\\"\",\"subject\":\"\\\"Pets list\\\"\",\"textBody\":\"name & category.name\"}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":null}}}}}}}},"api_version":{"type":"string","readOnly":true,"example":"2.0"},"current_status":{"type":"string","readOnly":true,"enum":["inactive"]},"status":{"type":"string","readOnly":true,"enum":["inactive"]},"stats_enabled":{"type":"boolean","example":true,"default":true,"description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n"},"updated_at":{"type":"string","readOnly":true,"format":"date-time","example":"2021-12-13T14:24:53.825Z"}}},"relationships":{"type":"object","required":["user","workspace","versions","latest_version"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"versions":{"type":"object","readOnly":true,"required":["links"],"properties":{"links":{"required":["related"],"properties":{"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions"}}}}},"latest_version":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Flow-version ID","example":"e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"type":{"type":"string","enum":["flow-version"]}}},"links":{"type":"object","required":["self","related"],"properties":{"self":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"},"related":{"type":"string","example":"/v2/flows/5b4f337bff4304610483ba67/versions/e4b690fb0a65c37789e7be0bf523414e0f98a8e6"}}}}}}}}}},"errored":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"65785b02300aaa1a2923bf35"},"error":{"type":"object","properties":{"title":{"type":"string","enum":["InvisibleComponentsError","InconsistentTopicError","NoPubSubError","NoQuotaError"]},"message":{"type":"string","example":"The request can not be processed because the quota exceeded"},"source":{"type":"object","example":"{}"}}}}}}}},"meta":{"type":"object"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/flows/subscription":{"delete":{"tags":["flows"],"summary":"Unsubscribe from flow notifications in a specific workspace (if the workspace_id query parameter is specified) or in all workspaces","description":"You need to be a member of the workspace to unsubscribe from flow errors.\n","parameters":[{"in":"query","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"name":"notification_type","in":"query","required":false,"schema":{"type":"string","enum":["TASK_PROCESSING_ERROR","FLOW_STOPPED","TASK_OPERATIONAL_ERROR"]},"description":"The type of notification (event) to unsubscribe from. If not provided, the subscription will be removed for all notification types"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","enum":["bulk-unsubscribe"],"description":"Operation identifier"},"type":{"type":"string","enum":["bulk-operation"],"description":"Resource type"},"attributes":{"type":"object","properties":{"count":{"type":"integer","description":"Number of subscriptions that were deleted"}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/subscriptions":{"post":{"tags":["flows"],"summary":"Subscribe to flow notifications","description":"Subscribe the current user to notifications for a specific flow event type (e.g., TASK_PROCESSING_ERROR, FLOW_STOPPED, or TASK_OPERATIONAL_ERROR).\nThe user must be a member of the workspace to which the flow belongs.\n","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["notification_type"],"properties":{"notification_type":{"type":"string","enum":["TASK_PROCESSING_ERROR","FLOW_STOPPED","TASK_OPERATIONAL_ERROR"],"description":"Type of event to subscribe to"}}}}}},"responses":{"201":{"description":"Subscription created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Subscription ID"},"type":{"type":"string","enum":["subscription"],"description":"Resource type"},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["TASK_PROCESSING_ERROR","FLOW_STOPPED","TASK_OPERATIONAL_ERROR"],"description":"Notification type"}}},"relationships":{"type":"object","properties":{"flow":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Flow ID"},"type":{"type":"string","enum":["flow"],"description":"Resource type"}}}}}}}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"get":{"tags":["flows"],"summary":"List subscriptions for a flow","description":"Returns a list of all subscriptions for the specified flow.","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Subscription ID"},"type":{"type":"string","enum":["subscription"],"description":"Resource type"},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["TASK_PROCESSING_ERROR","FLOW_STOPPED","TASK_OPERATIONAL_ERROR"],"description":"Notification type"}}},"relationships":{"type":"object","properties":{"flow":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Flow ID"},"type":{"type":"string","enum":["flow"],"description":"Resource type"}}}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/{flow_id}/subscriptions/{subscription_id}":{"delete":{"tags":["flows"],"summary":"Delete a flow subscription","description":"Deletes the subscription with the specified ID for the flow.\nYou need to be a member of the workspace the flow belongs to.\n","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"subscription_id","description":"Subscription identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Subscription deleted","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Subscription ID"},"type":{"type":"string","enum":["subscription"],"description":"Resource type"},"attributes":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Indicates that the subscription was deleted"}}},"relationships":{"type":"object","properties":{"flow":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Flow ID"},"type":{"type":"string","enum":["flow"],"description":"Resource type"}}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/logs":{"get":{"tags":["logs"],"summary":"Lists all logs with the specified Workspace Id","description":"You need `workspaces.logs.read_all` permission to access this resource","parameters":[{"in":"query","name":"workspace_id","required":true,"description":"An Id of the Workspace","schema":{"type":"string","example":"workspace_id"}},{"in":"query","name":"flow_ids[]","description":"An Id of the FLow","schema":{"type":"array","items":{"type":"string","example":"flow_id"}}},{"in":"query","name":"from","description":"Start Date of the period. Format – ISO 8601","schema":{"type":"string","format":"date-time","example":"2020-01-12T14:50:42.215Z"}},{"in":"query","name":"to","description":"End Date of the period. Format – ISO 8601","schema":{"type":"string","format":"date-time","example":"2020-01-14T15:00:45.000Z"}},{"in":"query","name":"search","description":"String to search in logs (searching string is wrapped by tag)","schema":{"type":"string","example":"error"}},{"name":"offset","in":"query","description":"Number of items to skip from the beginning","schema":{"type":"integer","default":0}},{"name":"limit","in":"query","description":"Number of items to return","schema":{"type":"integer","default":100}},{"name":"levels[]","in":"query","description":"The logs level (1 - None, 10 - trace, 20 - debug, 30 - info, 40 - warn, 50 - error, 60 - fatal). Log level None means default log level when it’s not passed.","schema":{"type":"array","items":{"type":"integer","example":30}}},{"in":"query","name":"container_id","description":"Container identifier","schema":{"type":"string","example":"c349d49c-834b-47d2-8183-5bcd015f6229"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["total","hits"],"properties":{"total":{"type":"integer","description":"Total number of Logs","maximum":10000,"example":2645},"hits":{"type":"array","items":{"type":"object","required":["id","workspace_id","flow_id","user_id","component_id","container_id","step_id","exec_id","method","api_username","component_name","timestamp","level","message"],"properties":{"id":{"type":"string","example":"12621fe1-59c6-11ec-a480-42010a1c0fcc"},"workspace_id":{"type":"string","example":"5b4f337bff4304610483ba67"},"flow_id":{"type":"string","example":"5b4f337bff4304610483ba67"},"user_id":{"type":"string","example":"5b4f337bff4304610483ba67"},"component_id":{"type":"string","example":"5b4f337bff4304610483ba67"},"container_id":{"type":"string","example":"c349d49c-834b-47d2-8183-5bcd015f6229"},"step_id":{"type":"string","example":"step_1"},"exec_id":{"type":"string","example":"fa21c1aba6be4c7f9c55e5f84e75911c"},"thread_id":{"type":"string","example":"fbb15272-250f-4b01-bfb4-d87e2403517e"},"method":{"type":"string","example":"execute"},"api_username":{"type":"string","example":"task-5b4f337bff4304610483ba67"},"component_name":{"type":"string","example":"Node.js_Code"},"timestamp":{"type":"string","format":"date-time","example":"2021-12-10T14:32:58.324Z"},"level":{"type":"integer","example":30},"message":{"type":"string","example":"Disconnecting..."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/recipes":{"get":{"tags":["recipes"],"summary":"Lists all Recipes which are available in the specified Workspace Id","description":"You need workspace memberships to access this resource","parameters":[{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}},{"in":"query","name":"workspace_id","required":true,"description":"An Id of the Workspace","schema":{"type":"string","example":"workspace_id"}},{"in":"query","name":"include","description":"Include related objects","schema":{"type":"string","enum":["recipe-deployments"]}},{"in":"query","name":"search","description":"Search recipes by a word or a phrase contained in a title. Behavior is similar to operator LIKE in SQL. Case insensitive. Leading/following spaces are trimmed","schema":{"type":"string","example":"webhook"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["visibility","info","flow_templates","created_at","updated_at"],"properties":{"allow_modification":{"type":"boolean","description":"When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.","example":true},"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"visibility":{"type":"string","readOnly":true,"enum":["workspace","contract","tenant","global"]},"info":{"type":"object","required":["title","description","short_description"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"},"version":{"readOnly":true,"type":"number","example":"4"}}},"relationships":{"type":"object","required":["user","workspace","contract"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"contract":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}}}}},"meta":{"type":"object","required":["page","per_page","total","total_pages"],"properties":{"page":{"type":"integer","example":1},"per_page":{"type":"integer","example":12},"total":{"type":"integer","example":746},"total_pages":{"type":"integer","example":63}}},"included":{"type":"array","items":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe_deployment"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipe_deployment/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","recipe_version","created_at","updated_at"],"properties":{"name":{"type":"string","description":"Recipe deployment name","example":"My simple recipe deployment"},"recipe_version":{"type":"number","example":3},"flows":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Flow id","example":"5b4f337bff4304610483ba67"}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"}}},"relationships":{"type":"object","required":["recipe","workspace"],"properties":{"recipe":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Recipe ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}},"post":{"tags":["recipes"],"summary":"Creates a Recipe","description":"You need `workspaces.recipe.edit` permission to access this resource\n\nWhen you create a Recipe, it has default visibility `workspace`\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["visibility","info","flow_templates","created_at","updated_at"],"properties":{"allow_modification":{"type":"boolean","description":"When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.","example":true},"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"visibility":{"type":"string","readOnly":true,"enum":["workspace","contract","tenant","global"]},"info":{"type":"object","required":["title","description","short_description"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"},"version":{"readOnly":true,"type":"number","example":"4"}}},"relationships":{"type":"object","required":["user","workspace","contract"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"contract":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["visibility","info","flow_templates","created_at","updated_at"],"properties":{"allow_modification":{"type":"boolean","description":"When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.","example":true},"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"visibility":{"type":"string","readOnly":true,"enum":["workspace","contract","tenant","global"]},"info":{"type":"object","required":["title","description","short_description"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"},"version":{"readOnly":true,"type":"number","example":"4"}}},"relationships":{"type":"object","required":["user","workspace","contract"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"contract":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/recipes/{recipe_id}":{"get":{"tags":["recipes"],"summary":"Returns the Recipe based on the specified Recipe Id","description":"You need workspace memberships to access this resource","parameters":[{"in":"path","name":"recipe_id","description":"Recipe identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"include","description":"Include related objects","schema":{"type":"string","enum":["recipe-deployments"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["visibility","info","flow_templates","created_at","updated_at"],"properties":{"allow_modification":{"type":"boolean","description":"When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.","example":true},"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"visibility":{"type":"string","readOnly":true,"enum":["workspace","contract","tenant","global"]},"info":{"type":"object","required":["title","description","short_description"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"},"version":{"readOnly":true,"type":"number","example":"4"}}},"relationships":{"type":"object","required":["user","workspace","contract"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"contract":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["recipes"],"summary":"Update the Recipe based on the specified Recipe Id","description":"You need `workspaces.recipe.edit` permission to access this resource","parameters":[{"in":"path","name":"recipe_id","description":"Recipe identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"attributes":{"type":"object","properties":{"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"info":{"type":"object","properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}}}},"relationships":{"type":"object","properties":{"workspace":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["visibility","info","flow_templates","created_at","updated_at"],"properties":{"allow_modification":{"type":"boolean","description":"When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.","example":true},"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"visibility":{"type":"string","readOnly":true,"enum":["workspace","contract","tenant","global"]},"info":{"type":"object","required":["title","description","short_description"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"},"version":{"readOnly":true,"type":"number","example":"4"}}},"relationships":{"type":"object","required":["user","workspace","contract"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"contract":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}},"delete":{"tags":["recipes"],"summary":"Remove the Recipe based on the specified Recipe Id","description":"You need `workspaces.recipe.edit` permission to access this resource\n\n*Note:* deleting Recipes with `contract`, `tenant` and `global` visibility is forbidden\n","parameters":[{"in":"path","name":"recipe_id","description":"Recipe identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/recipes/{recipe_id}/activate":{"post":{"tags":["recipes"],"summary":"Creates Flows from a Recipe based on the specified Recipe Id and starts them immediately","description":"You need `workspaces.flow.edit` permission to access this resource\n\nIf the Recipe contains a Component, which requires a Credential, it should be provided among the request payload.\n","parameters":[{"in":"path","name":"recipe_id","description":"Recipe identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"type":"string","enum":["recipe-activation-config"]},"attributes":{"type":"object","required":["credentials","variables"],"properties":{"credentials":{"type":"object","description":"Specify values for Credentials used by steps in a Flow","example":"{\"step_1\": \"5b4f337bff4304610483ba67\"}"},"variables":{"type":"object","description":"Specify values for variables which were defined in Recipe for mapping","example":"{\"TO_EMAIL\": \"goose@example.com\", \"NAME_IN_SUBJECT\": \"Neochen Jubata\"}"}}},"relationships":{"type":"object","required":["workspace"],"properties":{"workspace":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["relationships"],"properties":{"relationships":{"type":"object","required":["flows","recipe_deployment"],"properties":{"flow":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","enum":["flow"]},"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}},"recipe_deployment":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","enum":["recipe-deployment"]},"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/recipes/{recipe_id}/visibility":{"patch":{"tags":["recipes"],"summary":"Update a Recipe visibility based on the specified Recipe Id","description":"Accessing and sharing recipes:\n\nThe recipe has an attribute ``visibility``, which indicates how the recipe is shared by other clients. A shared recipe\nis available to other users for their Flows. There are four sharing modes:\n\n- ``workspace`` – Only Workspace members can use the recipe.\n- ``contract`` – Members of all Contract Workspaces can use the recipe.\n- ``tenant`` – Recipe is available to other clients in the tenant.\n- ``global`` – Any user of the platform can use these recipes.\n\nAccordingly, a set of recipes available for each user consists of: non-shared recipes from the user's Workspace,\nrecipes with `contract`, `tenant` and `global` access. When you create a recipe, it has default visibility `workspace`.\n\nYou can upgrade or downgrade recipe visibility.\n\nThis request is authorized depend on specified visibility level for a user that has next permission:\n- to `tenant` if user has permission `tenant.recipe.edit_visibility_tenant`\n- to `global` if user has permission `global.recipe.edit_visibility_global`\n- to `contract` if user has permission `workspaces.recipe.edit`\n- to `workspace` if user has permission `workspaces.recipe.edit`\n","parameters":[{"in":"path","name":"recipe_id","description":"Recipe identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["visibility"],"properties":{"visibility":{"type":"string","description":"Recipe sharing mode. Value must be one of `workspace`, `contract`, `tenant` or `global`\n","enum":["workspace","contract","tenant","global"]}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["visibility","info","flow_templates","created_at","updated_at"],"properties":{"allow_modification":{"type":"boolean","description":"When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.","example":true},"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"visibility":{"type":"string","readOnly":true,"enum":["workspace","contract","tenant","global"]},"info":{"type":"object","required":["title","description","short_description"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"},"version":{"readOnly":true,"type":"number","example":"4"}}},"relationships":{"type":"object","required":["user","workspace","contract"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"contract":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/flows/export-to-recipe":{"post":{"tags":["recipes","flows"],"summary":"Creates or updates a Recipe from existing Flows","description":"You need `workspaces.recipe.edit` and `workspaces.flow.exportToRecipe` permissions to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["flows-export-to-recipe-config"]},"attributes":{"type":"object","oneOf":[{"type":"object","description":"Attributes to create new Recipe","required":["flow_ids","dest_workspace_id"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"flow_ids":{"type":"array","description":"List of Flow Ids to create a Recipe from","items":{"type":"string","example":"63b695d9a869a4074021a4e8"}},"dest_workspace_id":{"type":"string","description":"An Id of the Workspace","example":"63b695c45593fb5e2124c16e"},"credentials_match":{"type":"object","description":"Object used to match Credentials in Flows to Recipe's Credentials. Keys in this object are Credential Ids used in Flow","additionalProperties":{"type":"object","properties":{"description":{"type":"string","description":"Recipe Credential description to be added in `attributes.declarations.credentials`"}}},"example":"{\"63bff1524192145ddaf708d5\":{\"description\":\"Credential used to retrieve data from DB\"}}"},"visibility":{"type":"string","description":"Recipe sharing mode. Value must be one of `workspace`, `contract`, `tenant` or `global`\n","enum":["workspace","contract","tenant","global"]}}},{"type":"object","description":"Attributes to update existing Recipe","required":["flow_ids","recipe_id"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},"flow_ids":{"type":"array","description":"List of Flow Ids to create a Recipe from","items":{"type":"string","example":"63b695d9a869a4074021a4e8"}},"recipe_id":{"type":"string","description":"An Id of the Recipe","example":"63b695eb8fd4b18de850af6a"},"credentials_match":{"type":"object","description":"Object used to match Credentials in Flows to Recipe's Credentials. Keys in this object are Credential Ids used in Flow","additionalProperties":{"type":"object","required":["recipe_credential_id"],"properties":{"recipe_credential_id":{"type":"string","description":"Recipe Credential Id as it defined in `attributes.declarations.credentials`","example":"credential-1"},"description":{"type":"string","description":"Recipe Credential description to be updated in `attributes.declarations.credentials`"}}},"example":"{\"63bff1524192145ddaf708d5\":{\"recipe_credential_id\":\"credential-1\",\"description\":\"Credential used to retrieve data from DB\"}}"},"visibility":{"type":"string","description":"Recipe sharing mode. Value must be one of `workspace`, `contract`, `tenant` or `global`\n","enum":["workspace","contract","tenant","global"]}}}]}}}}}}}},"responses":{"200":{"description":"OK (when recipe is updated)","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["visibility","info","flow_templates","created_at","updated_at"],"properties":{"allow_modification":{"type":"boolean","description":"When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.","example":true},"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"visibility":{"type":"string","readOnly":true,"enum":["workspace","contract","tenant","global"]},"info":{"type":"object","required":["title","description","short_description"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"},"version":{"readOnly":true,"type":"number","example":"4"}}},"relationships":{"type":"object","required":["user","workspace","contract"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"contract":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"201":{"description":"Created (when recipe is created)","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["visibility","info","flow_templates","created_at","updated_at"],"properties":{"allow_modification":{"type":"boolean","description":"When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.","example":true},"declarations":{"type":"object","properties":{"variables":{"type":"array","description":"List of variables used by steps in a flow","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","example":"petStatus"},"title":{"type":"string","example":"Status of the pet to get"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Every pet in our store has a status. Please enter your favourite status."},"link":{"type":"string","example":"http://test.com/recipes/12345"}}}}}},"credentials":{"type":"array","description":"List of credentials used by steps in a flow","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"petstore"},"help":{"type":"object","required":["description"],"properties":{"description":{"type":"string","example":"Credentials to access your Petstore"}}}}}},"topics":{"type":"array","description":"List of Topics data used by steps in a flow that will be created upon Recipe activation","items":{"type":"object","required":["id","schema"],"properties":{"id":{"type":"string","example":"topic-1"},"schema":{"type":"object","description":"JSON schema describing the objects to be exchanged","example":"{\"$id\":\"https://example.com/person.schema.json\", \"title\":\"Person\", \"type\":\"object\", \"properties\":{\"firstName\":{\"type\":\"string\", \"description\":\"The person first name.\"}}}\n"}}}}}},"visibility":{"type":"string","readOnly":true,"enum":["workspace","contract","tenant","global"]},"info":{"type":"object","required":["title","description","short_description"],"properties":{"title":{"type":"string","description":"Recipe title","example":"My simple recipe"},"author":{"type":"string","example":"John Doe"},"description":{"type":"string","description":"Recipe description. Markdown is supported","example":""},"short_description":{"type":"string","description":"Recipe short description","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}}},"flow_templates":{"type":"array","items":{"type":"object","required":["title","graph","type"],"properties":{"title":{"type":"string","description":"Flow template title","example":"My first flow template"},"cron":{"type":"string","description":"Cron expression to schedule executions for polling flows","example":"*/9 * * * *"},"type":{"type":"string","description":"Flow template type","example":"ordinary","enum":["ordinary","long_running"]},"graph":{"type":"object","description":"Recipe graph representing component connections","required":["nodes","edges"],"properties":{"nodes":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_1"},"description":{"type":"string","example":"Retrieve pets with status pending"},"command":{"type":"string","example":"core/petStore:getPetsByStatusWithDynamicSelectModel@c0a749a85eb62b322704055cfca29649ffad64ed"},"fields":{"type":"object","example":"{\"status\": \"pending\"}"},"error":{"type":"boolean","default":false},"id":{"type":"string","example":"step_1"},"dynamic_select_model":{"type":"object","properties":{"getStatusModel":{"type":"object","example":"{\"sold\":\"Sold\",\"pending\":\"Pending\",\"available\":\"Available\"}"}}},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"},"pub_sub_id":{"type":"string","description":"The value from data.attributes.declarations.topics[].id","example":"topic-1"}}},{"type":"object","required":["name","description","command","id","data_sample"],"properties":{"name":{"type":"string","example":"step_2"},"description":{"type":"string","example":"Create new pet"},"command":{"type":"string","example":"core/petStore:createPetWithPromiseUsingDynamicMetadata@c0a749a85eb62b322704055cfca29649ffad64ed"},"error":{"type":"boolean","description":"Set to true if component used as error handler","default":false},"id":{"type":"string","example":"step_2"},"dynamic_metadata":{"type":"string","example":"{\"in\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}},\"out\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"required\":true,\"title\":\"Name\"},\"status\":{\"type\":\"string\",\"required\":true,\"title\":\"Status\"},\"newDynamicField\":{\"type\":\"string\",\"required\":true,\"title\":\"New dynamic field\"}}}}"},"data_sample":{"oneOf":[{"type":"string","description":"Data sample as a UUID. This format is only for GET all recipes endpoint","example":"f4c8fd34-09b7-46e9-827a-8e5ee6c897cb"},{"type":"object","description":"Data sample as a contents. This format is for any endpoint except GET all recipes","example":"{\"pets\":[{\"id\":10,\"status\":\"pending\",\"name\":\"Dolly\",\"category\":{\"id\":2,\"name\":\"cats\"}},{\"id\":11,\"status\":\"pending\",\"name\":\"Gorilla\",\"category\":{\"id\":1,\"name\":\"dogs\"}}]}"}]},"credentials_id":{"type":"string","description":"The value from data.attributes.declarations.credentials[].id","example":"petstore"}}}]}},"edges":{"type":"array","items":{"type":"object","required":["target"],"properties":{"config":{"type":"object","properties":{"mapper_type":{"type":"string","example":"jsonata"},"mapper":{"type":"string","example":"{\"name\": pets[0].name,\"status\": pets[0].status,\"newDynamicField\": pets[0].id}"},"condition":{"type":"string","nullable":true,"description":"condition for Content Based Router component","example":"$getPassthrough().step_1.body.status=\"pending\""}}}}}}}}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"},"version":{"readOnly":true,"type":"number","example":"4"}}},"relationships":{"type":"object","required":["user","workspace","contract"],"properties":{"user":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"User ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}},"contract":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Contract ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/recipe-deployments/{recipe_deployment_id}":{"get":{"tags":["recipe deployments"],"summary":"Returns the Recipe Deployment based on the specified Recipe Deployment Id","description":"You need workspace memberships to access this resource\n - `global.recipe_deployment.get` permission in the `tenant` scope allows to get any\nrecipe deployment in the user tenant\n - `global.recipe_deployment.get` permission in the `global` scope allows to delete any\nrecipe deployment in all tenants\n","parameters":[{"in":"path","name":"recipe_deployment_id","description":"Recipe Deployment identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe_deployment"]},"links":{"type":"object","readOnly":true,"required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipe_deployment/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","recipe_version","created_at","updated_at"],"properties":{"name":{"type":"string","description":"Recipe deployment name","example":"My simple recipe deployment"},"recipe_version":{"type":"number","example":3},"flows":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Flow id","example":"5b4f337bff4304610483ba67"}}}},"created_at":{"readOnly":true,"type":"string","example":"2021-12-10T10:29:15.008Z"},"updated_at":{"readOnly":true,"type":"string","example":"2021-12-10T14:40:03.389Z"}}},"relationships":{"type":"object","required":["recipe","workspace"],"properties":{"recipe":{"type":"object","readOnly":true,"required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Recipe ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["recipe"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/recipes/5b4f337bff4304610483ba67"}}}}},"workspace":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Workspace ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["recipe deployments"],"summary":"Remove the specified recipe deployment.","description":"You have to be a member with appropriate permission to access this resource.\n - `workspaces.flow.edit` permission in the `workspace` scope allows to delete deployment from workspace\n - `global.recipe_deployment.delete` permission in the `tenant` scope allows to delete all\nrecipe deployments in the user tenant\n - `global.recipe_deployment.delete` permission in the `global` scope allows to delete all\nrecipe deployments in all tenants\n","parameters":[{"in":"path","name":"recipe_deployment_id","description":"Recipe Deployment identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/recipe-deployments/{recipe_deployment_id}/sync":{"post":{"tags":["recipe deployments"],"summary":"Reactivate recipe deployment according to the actual recipe version.","description":"You have to be a member with appropriate permission to access this resource.\n- `workspaces.flow.edit` permission in the `workspace` scope allows to delete deployment from workspace\n- `global.recipe_deployment.sync` permission in the `tenant` scope allows to sync all\nrecipe deployments in the user tenant\n- `global.recipe_deployment.sync` permission in the `global` scope allows to sync all\nrecipe deployments in all tenants\n","parameters":[{"in":"path","name":"recipe_deployment_id","description":"Recipe Deployment identifier","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["relationships"],"properties":{"relationships":{"type":"object","required":["flows","recipe_deployment"],"properties":{"flow":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","enum":["flow"]},"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}},"recipe_deployment":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","enum":["recipe-deployment"]},"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/resources/storage/signed-url":{"post":{"tags":["resources"],"summary":"Creates a new signed url in Storage","description":"This request is authorized for any platform User","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["put_url","get_url","expires"],"properties":{"put_url":{"type":"string","example":"https://steward_host/files/1ksksiao"},"get_url":{"type":"string","example":"https://steward_host/files/34rwer34"},"expires":{"type":"integer","example":18000}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}}},"/stats/queues/{flow_id}":{"get":{"tags":["stats"],"summary":"Returns the amount of messages in input queues of all steps in the defined flow.","description":"This request is authorized for any member of the given workspace.","parameters":[{"in":"path","name":"flow_id","description":"Flow identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["flow-queue-stats"]},"attributes":{"type":"object","required":["stats"],"properties":{"stats":{"type":"array","items":{"type":"object","required":["step_id","total","ready","unacked","rebounds"],"properties":{"step_id":{"type":"string","example":"step_1"},"total":{"type":"integer","example":9},"ready":{"type":"integer","example":5},"unacked":{"type":"integer","example":1},"rebounds":{"type":"integer","example":0}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/stats/queues/workspace/{workspace_id}":{"get":{"tags":["stats"],"summary":"Returns the amount of messages in input queues of all flows in the defined workspace.","description":"This request is authorized for any member of the given workspace.","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"attributes":{"type":"array","items":{"type":"object","required":["id","totalMessages"],"properties":{"id":{"type":"string","example":"65424c33244eff00126288cb","description":"Flow ID"},"totalMessages":{"type":"integer","example":0}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/stats/workspaces":{"get":{"tags":["stats"],"summary":"Lists of workspaces with flows in them and flow components.","description":"A user has to be a member of the Contract’s scope with the `global.stats.workspaces` permission or belong to the Tenant Admin users group","parameters":[{"in":"query","name":"contract_id","description":"Contract identifier. This parameter is required for Contract Owner and prohibited for Tenant Admin.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","reqiired":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace-stats"]},"attributes":{"type":"object","required":["name","type","flows"],"properties":{"name":{"type":"string","example":"Workspace name"},"type":{"type":"string","enum":["full","limited"]},"flows":{"type":"array","items":{"type":"object","requied":["id","name","status","type","created_at","updated_at","components"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"name":{"type":"string","example":"Flow name"},"status":{"type":"string","example":"active"},"type":{"type":"string","example":"ordinary"},"created_at":{"type":"string","example":"2020-03-04T11:25:45.238Z"},"updated_at":{"type":"string","example":"2020-03-04T11:25:45.238Z"},"components":{"type":"array","items":{"type":"object","required":["name","component_id","version"],"properties":{"name":{"type":"string","example":"code"},"component_id":{"type":"string","example":"5b4f337bff4304610483ba67"},"version":{"type":"string","example":"6765e8b85f200f5a1065b880272135cb45c6a2e4"}}}}}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/teams":{"get":{"tags":["teams"],"summary":"Lists all teams","description":"You need `contract.devTeams.get` permission to access this resource","parameters":[{"in":"query","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["team"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Team name"}}},"relationships":{"type":"object","required":["contract","users","components"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"users":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}}}}},"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}},"post":{"tags":["teams"],"summary":"Creates a team","description":"You need `contracts.devTeam.edit` permission to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["attributes","relationships"],"properties":{"attributes":{"type":"object","properties":{"name":{"description":"A team name.","type":"string","example":"My team"},"docker_registry":{"type":"object","properties":{"uri":{"description":"Docker Registry URI","type":"string","example":"https://index.docker.io/v1/"},"credentials":{"description":"Docker Registry credentials. If value is null - registry will be accessed anonymously","nullable":true,"example":"{\"username\": \"user\", \"password\": \"pass\"}","oneOf":[{"type":"object","properties":{"authFile":{"type":"string","description":"Path of the authentication file","example":"~/.docker/config.json"}}},{"type":"object","properties":{"registryToken":{"type":"string","description":"Bearer token for accessing the source registry","example":"Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\",scope=\"repository:samalba/my-app:pull,push\""}}},{"type":"object","properties":{"username":{"type":"string","description":"Docker Registry username","example":"user"},"password":{"type":"string","description":"Docker Registry password","example":"pass"}}}]}}}}},"relationships":{"type":"object","required":["contract"],"properties":{"contract":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"description":"An Id of the contract","type":"string","example":"5b4f337bff4304610483ba67"},"type":{"description":"A value must be contract","type":"string","enum":["contract"]}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["team"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Team name"}}},"relationships":{"type":"object","required":["contract","users","components"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"users":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}}}}},"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/teams/{team_id}":{"get":{"tags":["teams"],"summary":"Returns the team based on the specified teamId where the current user is a member.","description":"You need `contract.devTeams.get` permission to access this resource","parameters":[{"in":"path","name":"team_id","description":"Team identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["team"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Team name"}}},"relationships":{"type":"object","required":["contract","users","components"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"users":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}}}}},"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["teams"],"summary":"Update the Team based on the specified Team Id","description":"You need `contract.devTeams.edit` permission to access this resource","parameters":[{"in":"path","name":"team_id","description":"Team identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["attributes"],"properties":{"attributes":{"type":"object","properties":{"docker_registry":{"type":"object","properties":{"uri":{"description":"Docker Registry URI","type":"string","example":"https://index.docker.io/v1/"},"credentials":{"description":"Docker Registry credentials. If value is null - registry will be accessed anonymously","nullable":true,"example":"{\"username\": \"user\", \"password\": \"pass\"}","oneOf":[{"type":"object","properties":{"authFile":{"type":"string","description":"Path of the authentication file","example":"~/.docker/config.json"}}},{"type":"object","properties":{"registryToken":{"type":"string","description":"Bearer token for accessing the source registry","example":"Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\",scope=\"repository:samalba/my-app:pull,push\""}}},{"type":"object","properties":{"username":{"type":"string","description":"Docker Registry username","example":"user"},"password":{"type":"string","description":"Docker Registry password","example":"pass"}}}]}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["team"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Team name"}}},"relationships":{"type":"object","required":["contract","users","components"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"users":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}}}}},"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["teams"],"summary":"Remove the specified team.","description":"This resource allows you to delete a team. You cannot remove team which contains the repos, you should delete all repos first. You need `contracts.devTeam.edit` permission to access this resource.\n","parameters":[{"in":"path","name":"team_id","description":"Team identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/teams/{team_id}/relationships/members":{"post":{"tags":["teams"],"summary":"Adds a new member to a defined team.","description":"You need `contracts.devTeam.edit` permission to access this resource","parameters":[{"in":"path","name":"team_id","description":"Team identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id"],"properties":{"type":{"description":"A value must be user","type":"strimg","enum":["user"]},"id":{"description":"Id of an already registered user, who will be added as a member of the team","type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["team"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Team name"}}},"relationships":{"type":"object","required":["contract","users","components"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"users":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}}}}},"components":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/teams/5b4f337bff4304610483ba67"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["teams"],"summary":"Remove the specified member from the team.","description":"You need `contracts.devTeam.edit` permission to access this resource","parameters":[{"in":"path","name":"team_id","description":"Team identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/permissions":{"get":{"tags":["permissions"],"summary":"Get the list of available permissions","description":"This endpoint is available to all the platforms' users","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","example":null},"type":{"type":"string","enum":["permissions"]},"attributes":{"type":"object","required":["permissions"],"properties":{"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.stats.workspaces","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.create","global.auth_clients.delete","contracts.contract.edit","contracts.membership.edit","contracts.workspace_limits.edit","contracts.workspace.create","contracts.workspace.listAll","contracts.workspace.delete","contracts.repository.edit","contracts.devTeam.edit","workspaces.workspace.edit","workspaces.workspace.edit_membership_support","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.flow.exportToRecipe","workspaces.logs.read_all","workspaces.recipe.edit","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}}},"/quotas/limits":{"get":{"tags":["quota limits"],"summary":"Returns a list of Quota Types supported by Quota Service.","description":"You need `global.quota_limit.read` permission to access this resource.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"properties":{"name":{"type":"string","example":"per_contract_workspace_count_full"},"path":{"type":"string","example":"per_contract_workspace_count_full/"},"contextTemplate":{"type":"string","example":"{tenantId}.{contractId}"}},"required":["name","path","contextTemplate"]}}}}}}}}}},"/quotas/limits/{quota_type}":{"parameters":[{"in":"path","name":"quota_type","required":true,"schema":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]}}],"get":{"tags":["quota limits"],"summary":"Get List of Limit Records for {quota_type}","description":"You need `global.quota_limit.read` permission to access this resource.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"properties":{"quotaType":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]},"context":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"},"limit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3}},"required":["quotaType","context","limit"]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/quotas/limits/{quota_type}/get_many":{"parameters":[{"in":"path","name":"workspace_quota_type","description":"workspace quota type","required":true,"schema":{"type":"string","description":"Workspace-scoped quota type. Used in endpoints that operate on a single workspace context.","enum":["per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_workspace_flow_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_workspace_request_webhooks_per_minute_limit","per_workspace_message_count_limit"]}}],"post":{"tags":["quota limits"],"summary":"Allow to request several actual (the most specific) limits by an array of ContextExpressions. Returned data is in \"key: { data: ..., error: ... }\" format, where the \"key\" is requested ContextExpression, and the \"data\" is certain found LimitRecord or an \"error\". The endpoint always has statusCode 200, errors are enumerated in the response body.\n","description":"You need `global.quota_limit.read` permission to access any quota OR `contract.contract.list_all_workspaces` if your context expression is limited to workspaces where you have this permission.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","description":"Array of context expressions to get limits for","minItems":1,"items":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","properties":{"data":{"properties":{"quotaType":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]},"context":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"},"limit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3}},"required":["quotaType","context","limit"]},"error":{"type":"string"}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}},"examples":{"no_contexts":{"summary":"No context expressions provided","value":{"error":{"message":"At least one context must be specified","title":"BadRequest","status":400}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/quotas/limits/{quota_type}/{context_expression}":{"parameters":[{"in":"path","name":"quota_type","required":true,"schema":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]}},{"in":"path","name":"context_expression","description":"The context_expression is a Primary Key for the LimitRecord","required":true,"schema":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"}},{"in":"query","name":"find_the_most_specific_limit","description":"If set to true, the most specific limit will be returned","required":false,"schema":{"type":"boolean"}}],"get":{"tags":["quota limits"],"summary":"LimitRecord for {context_expression}","description":"You need `global.quota_limit.read` or `contract.contract.list_all_workspaces` permission to access any quota OR to be a member of the contract/workspace which is mentioned in the context expressions.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"properties":{"quotaType":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]},"context":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"},"limit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3}},"required":["quotaType","context","limit"]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"put":{"tags":["quota limits"],"summary":"Create or Update the LimitRecord for {context_expression}","description":"You need `global.quota_limit.edit` permission to access any quota OR to have a `contract.contract.edit_workspace_limits` permission if the context expression specifies a single workspace.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"properties":{"quotaType":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]},"context":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"},"limit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3}},"required":["quotaType","context","limit"]}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"properties":{"quotaType":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]},"context":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"},"limit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3}},"required":["quotaType","context","limit"]},"meta":{"properties":{"limitCreated":{"type":"boolean"},"limitUpdated":{"type":"boolean"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["quota limits"],"summary":"Delete the LimitRecord for {context_expression}","description":"You need `global.quota_limit.edit` permission to access any quota OR to have a `contract.contract.edit_workspace_limits` permission if the context expression specifies a single workspace.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"properties":{"limitDeleted":{"type":"boolean"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/quotas/limits/{quota_type}/{context_expression}/history":{"parameters":[{"in":"path","name":"quota_type","required":true,"schema":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]}},{"in":"path","name":"context_expression","description":"The context_expression is a Primary Key for the LimitRecord","required":true,"schema":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"}},{"in":"query","name":"from","description":"Start Date of the period. Format – ISO 8601","schema":{"type":"string","format":"date-time","example":"2020-01-12T14:50:42.215Z"}},{"in":"query","name":"to","description":"End Date of the period. Format – ISO 8601","schema":{"type":"string","format":"date-time","example":"2020-01-14T15:00:45.000Z"}}],"get":{"tags":["quota limits"],"summary":"Get history of quota change for {context_expression}","description":"You need `global.quota_limit.read` or `contract.contract.list_all_workspaces` permission to access any quota OR to be a member of the contract/workspace which is mentioned in the context expressions.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"properties":{"quotaType":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]},"context":{"type":"string","format":"^([0-9a-fA-F]{24})(\\.([0-9a-fA-F]{24}))*$","description":"Context expression string\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n\nInvalid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb"},"newLimit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3},"oldLimit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3},"timestamp":{"description":"Timestamp in ISO 8601 date and time","type":"string","format":"date-time"}},"required":["quotaType","context","timestamp"]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/quotas/usages/{quota_type}":{"parameters":[{"in":"path","name":"quota_type","required":true,"schema":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]}}],"get":{"tags":["quota usages"],"summary":"Get usages for {quota_type}","description":"You need `global.usages.read` permission to access any quota usage information.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"data":{"type":"array","items":{"properties":{"_id":{"type":"string","description":"Unique identifier of the usage record"},"quotaType":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]},"context":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"},"usage":{"type":"number","description":"Current usage value"},"limit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3},"limitId":{"type":"string","description":"ID of the limit record"},"limitSpecificity":{"type":"number","description":"Specificity level of the limit"},"resourceType":{"type":"string","description":"Type of resource being measured","example":"workspace"}},"required":["_id","quotaType","context","usage","limit","limitId","limitSpecificity","resourceType"],"example":{"_id":"6513e35461a1a06097613dba","context":"56c207adb9121181e650c0ef.5b5ed1ce272cf80011ae79ef","quotaType":"per_contract_workspace_count_full","resourceType":"workspace","limit":-1,"limitId":"612f3e2207bd6b0012de4c4b","limitSpecificity":0,"usage":11}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/quotas/usages/{quota_type}/{context_expression}":{"parameters":[{"in":"path","name":"quota_type","required":true,"schema":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]}},{"in":"path","name":"context_expression","description":"The context_expression is a Primary Key for the LimitRecord","required":true,"schema":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"}},{"in":"query","name":"include","description":"Optional. Comma-separated list of related data to include in the response.\nFor example, to include counters in the response, use \"?include=counters\".\nBy default, counters are not included.\n","required":false,"schema":{"type":"string","enum":["counters"]}}],"get":{"tags":["quota usages"],"summary":"Get usages for {quota_type} and {context}","description":"You need `global.usages.read` permission to access any quota usage information.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"data":{"type":"array","items":{"properties":{"_id":{"type":"string","description":"Unique identifier of the usage record"},"quotaType":{"type":"string","description":"Quota type identifier. Flow count quota types:\n- `per_workspace_flow_count_limit` / `per_contract_flow_count_limit` / `per_tenant_flow_count_limit` — total number of flows.\n- `per_workspace_ordinary_flow_count_limit` / `per_contract_ordinary_flow_count_limit` — number of Ordinary Flows.\n- `per_workspace_long_running_flow_count_limit` / `per_contract_long_running_flow_count_limit` — number of Real-Time (Long-Running) Flows.\n","enum":["per_contract_workspace_count_full","per_contract_workspace_count_limited","per_contract_cpu_usage_monthly_limit","per_contract_mem_usage_monthly_limit","per_workspace_cpu_usage_monthly_limit","per_workspace_mem_usage_monthly_limit","per_contract_container_count_limit","per_contract_user_count_limit","per_workspace_flow_count_limit","per_contract_flow_count_limit","per_tenant_flow_count_limit","per_contract_request_webhooks_per_minute_limit","per_workspace_request_webhooks_per_minute_limit","per_contract_message_count_limit","per_workspace_message_count_limit","per_workspace_ordinary_flow_count_limit","per_workspace_long_running_flow_count_limit","per_contract_ordinary_flow_count_limit","per_contract_long_running_flow_count_limit"]},"context":{"type":"string","format":"^([0-9a-fA-F]{24}|ANY)(\\.([0-9a-fA-F]{24}|ANY))*$","description":"`ContextExpression` is similar to `ContextSpecific`, but an ID might be replaced with the keyword 'ANY', which means \"wildcard\" match.<br /> `ContextExpression` MUST BE the \"prefix\" expression – the ID's on the right part might by wildcards, but no wildcards MUST be in the middle of context expression.<br /><br />\nValid Examples:  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.5c179bcf0a3f91000fe9bbb.ANY'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.ANY'\n  - 'ANY.ANY.ANY'\n  - '5c179bcf0a3f91000f00aaaa.5c179bcf0a3f91000009bbb'\n  - '5c179bcf0a3f91000f00aaaa.ANY'\n\nInvalid Examples:  - 'ANY.5c179bcf0a3f91000fe9bbb.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa.ANY.5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..5c179bcf0a3f91000fe9ccc'\n  - '5c179bcf0a3f91000fe9aaaa..'\n  - '5c179bcf0a3f91000fe9aaaa.'\n  - '.'\n","example":"5c179bcf0a3f91000fe9aaaa.ANY"},"usage":{"type":"number","description":"Current usage value"},"limit":{"type":"integer","description":"`-1` means 'unlimited' `0` means 'disabled' a positive number is certain limitation\n","example":3},"limitId":{"type":"string","description":"ID of the limit record"},"limitSpecificity":{"type":"number","description":"Specificity level of the limit"},"resourceType":{"type":"string","description":"Type of resource being measured","example":"workspace"}},"required":["_id","quotaType","context","usage","limit","limitId","limitSpecificity","resourceType"],"example":{"_id":"6513e35461a1a06097613dba","context":"56c207adb9121181e650c0ef.5b5ed1ce272cf80011ae79ef","quotaType":"per_contract_workspace_count_full","resourceType":"workspace","limit":-1,"limitId":"612f3e2207bd6b0012de4c4b","limitSpecificity":0,"usage":11}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants":{"get":{"tags":["tenants"],"summary":"Lists all Tenants","description":"You need `tenants.tenant.get` permission to access this resource","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}},"attributes":{"required":["name","app_domain","code","mandrill_email_from"],"properties":{"name":{"type":"string","example":"My New Tenant"},"app_domain":{"type":"string","example":"app.example.com"},"api_domain":{"type":"string","example":"api.example.com"},"webhooks_domain":{"type":"string","example":"in.example.com"},"api_docs_url":{"type":"string","description":"The URL to your custom API documentation","example":"api.example.com/docs/v2/'"},"git_receiver_host":{"type":"string","example":"git.example.com"},"code":{"type":"string","example":"mail_style"},"header_logo_url":{"type":"string","description":"The URL of image which will be displayed in the navigation panel (logo size 40x40 pixels, logo format - .png or .svg)\n","example":"//cdn.example.com/logo-header.png"},"loading_logo_url":{"type":"string","description":"The URL of image which will be displayed during the page loading","example":"//cdn.example.com/logo-loading.png"},"email_logo_url":{"type":"string","description":"The URL of image which will be displayed in the emails","example":"//cdn.example.com/logo-email.png"},"favicon_url":{"type":"string","description":"The URL of image which will be displayed as favicon","example":"//cdn.example.com/logo-favicon.png"},"terms_of_usage_url":{"type":"string","description":"The URL which redirects to the terms of usage page","example":"https://www.example.com/tou/"},"privacy_policy_url":{"type":"string","description":"The URL which redirects to the privacy policy page","example":"https://www.example.com/privacy-policy/"},"imprint_url":{"type":"string","description":"The URL which redirects to the imprint page","example":"https://www.example.com/legal-disclosure/"},"mandrill_email_from":{"type":"string","description":"An email of the letters sender","example":"foo@foo.bar"},"mandrill_api_key":{"type":"string","description":"The mandrill API key","example":"lEJsMG0Kpj8b00mEIp1de"},"segment_write_key":{"type":"string","description":"Segment write key","example":"Qtg2Y2i61KpjOSCYFUc9VLJH5UegUZDP"},"google_tag_manager_id":{"type":"string","description":"Google Tag Manager container `ID` without `GTM-` prefix\n","example":"5b4f337bff4304610483ba67"},"hide_register":{"type":"boolean","example":true},"is_default":{"type":"boolean","example":true,"description":"You can set only one default tenant per installation"},"hide_repos":{"type":"boolean","example":false},"hide_teams":{"type":"boolean","example":false},"hide_ssh_keys":{"type":"boolean","example":false},"hide_api_key":{"type":"boolean","example":false},"hide_docs":{"type":"boolean","example":false},"powered_by_elasticio":{"type":"boolean","example":true},"docs_base_url":{"type":"string","example":"https://docs.example.com/","description":"This link will applied to the Quick Help =>> Documentation menu and to the repository page docs link"},"component_docs_base_url":{"type":"string","example":"https://docs.example.com/components/","description":"Base URL for relative paths to component docs. E.g. if this url is `https://docs.example.com/components/` and `component.json` contains the following field `\"help\": {\"link\": \"salesforce\"}`, on frontend we will use `https://docs.example.com/components/salesforce` as a link to documentation of this component. If this property is not set, relative urls won't be displayed. If this property is set, make sure component_docs_base_url + 'getting-started/credential.html' page exists\n"},"ssl_certificates":{"type":"object","properties":{"app":{"type":"string","description":"An ID of SSL-certificate for a web-UI domain","example":"5b4f337bff4304610483ba67"},"api":{"type":"string","description":"An ID of SSL-certificate for API domain","example":"5b4f337bff4304610483ba67"},"webhooks":{"type":"string","description":"An ID of SSL-certificate for the webhooks domain","example":"5b4f337bff4304610483ba67"}}},"email_templates":{"type":"object","description":"hashMap of represent emails will be sent. By default \"repo-new-version\" and \"repo-new-version-in-workspace-flows\" are set to false\n","required":["agent-request","contract-deleted","contract-invite-empty-contract","contract-invite-new-user","contract-suspended","contract-unsuspended","password-recovery","repo-new-version","repo-new-version-in-workspace-flows","task-error-notification","task-operational-error","team-from-contract-invite","team-removed-member","user-removed-from-contract","wiper-exhaustion-quota-notification","wiper-flow-suspended-due-to-queue-overflow","wiper-stop-limited-flow","wiper-suspended-queue-purged","workspace-invite-empty-workspace","workspace-invite-new-user","workspace-removed","workspace-removed-member"],"properties":{"agent-request":{"type":"boolean","description":"Agent has been requested","example":true},"contract-deleted":{"type":"boolean","description":"Contract has been deleted","example":true},"contract-invite-empty-contract":{"type":"boolean","description":"New user has been invited to an empty Contract","example":true},"contract-invite-new-user":{"type":"boolean","description":"New user has been invited to the Contract","example":true},"contract-suspended":{"type":"boolean","description":"Contract has been suspended","example":true},"contract-unsuspended":{"type":"boolean","description":"Contract has been unsuspended","example":true},"password-recovery":{"type":"boolean","description":"Password recovery has been requested","example":true},"repo-new-version":{"type":"boolean","description":"New Component version has been pushed in your Developer Team","example":false},"repo-new-version-in-workspace-flows":{"type":"boolean","description":"New Component version has been pushed, Component used in your Flows","example":false},"task-error-notification":{"type":"boolean","description":"A Component has reported an error","example":true},"task-operational-error":{"type":"boolean","description":"A container has failed","example":true},"team-from-contract-invite":{"type":"boolean","description":"Has invited to contract's team","example":true},"team-removed-member":{"type":"boolean","description":"Team member has been removed","example":true},"user-removed-from-contract":{"type":"boolean","description":"Has removed user from contract","example":true},"wiper-exhaustion-quota-notification":{"type":"boolean","description":"Quota usage has come to the limit","example":true},"wiper-flow-suspended-due-to-queue-overflow":{"type":"boolean","description":"Flow has been suspended due to queue overflow","example":true},"wiper-stop-limited-flow":{"type":"boolean","description":"Flow has been stopped due to limitations of limited workspace","example":true},"wiper-suspended-queue-purged":{"type":"boolean","description":"Unhandled data has been purged","example":true},"workspace-invite-empty-workspace":{"type":"boolean","description":"User has been invited to an empty Workspace","example":true},"workspace-invite-new-user":{"type":"boolean","description":"Unregistered user has been invited to the Workspace","example":true},"workspace-removed":{"type":"boolean","description":"Workspace has been removed","example":true},"workspace-removed-member":{"type":"boolean","description":"Member has been removed from the Workspace","example":true}}},"suppress_email":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["repo-new-version","repo-new-version-in-workspace-flows"]},"custom_nav_menu_items":{"type":"array","items":{"anyOf":[{"type":"object","required":["title","icon","links"],"properties":{"title":{"type":"string","description":"The link text","example":"Quick Help"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"help"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"custom_class"},"links":{"type":"array","items":{"type":"object","required":["url","title","icon"],"properties":{"url":{"type":"string","description":"The URL which redirects to the needed page","example":"https://docs.example.com"},"title":{"type":"string","description":"The link text","example":"Documentation"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"description"},"target":{"type":"string","description":"A value can be `modal` or `_blank`. In case of \"target\"=\"modal\" link will be opened in the modal window. In case of \"target\":\"_blank\", link will be opened in the new tab. The value by default is `_blank`\n","example":"_blank"}}}}}},{"type":"object","required":["title","icon","custom_class"],"properties":{"title":{"type":"string","description":"The link text","example":"Help Center"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"forum"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"intercom-launcher"}}}]}},"custom_stylesheets":{"type":"array","items":{"type":"object","required":["href"],"properties":{"href":{"type":"string","description":"Customer css stylesheets","example":"http://path-to.css"}}}},"custom_scripts":{"type":"array","items":{"type":"object","required":["src"],"properties":{"src":{"type":"string","description":"The URL of js-script","example":"http://path-to-2.js"},"location":{"type":"string","description":"A value can be `head` or `body`. Location where js-script will be added inside html page. Default: \"head\"\n","enum":["head","body"],"default":"head","example":"head"}}}},"email_domains_blacklist":{"type":"array","items":{"type":"string","description":"Array of email domains with which users are not allowed to register","example":"[\"yahoo.*\",\"hotmail.com\"]\n"}},"feature_flags":{"type":"object","properties":{"contract_component_whitelist":{"type":"boolean","description":"Enable component whitelisting on contract level. Default: \"false\"\n","example":true},"enabled_totp":{"type":"boolean","description":"Enable ability to use two-factor authentication. Default: \"false\"\n","example":true},"forced_totp":{"type":"boolean","description":"Enforce users to setup two-factor authentication. Requires `attributes.feature_flags.enabled_totp` to be enabled. Default: \"false\"\n","example":true},"email_verification":{"type":"boolean","description":"Whether we send email verification letter to user during registration. Default: \"true\"\n","example":true},"sensitive_actions_reauth":{"type":"boolean","description":"Enable Reauthentication for sensitive endpoints. Default: \"false\"\n","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true},"shut_down_timeout_enabled":{"type":"boolean","description":"Enable the ability to set a timeout for shutting down a flow. Default: \"false\"\n","example":true},"skip_session_ip_validation":{"type":"boolean","description":"Dangerous feature flag option. Will disable IP check. Set to \"true\" to disable this additional security.\n","example":true}}},"signin_v_2":{"type":"object","description":"Enable new design for registration page","required":["logo_url","google_provider_id"],"properties":{"logo_url":{"type":"string","description":"The URL of image which will be displayed on new registration page. In case it's not specified, the `attributes.header_logo_url` will be used\n","example":"//cdn.example.com/logo.png"},"google_provider_id":{"type":"string","description":"Google OIDC Provider `id` in this tenant. Enables Google Sign In and Sign Up\n","example":"5b4f337bff4304610483ba67"}}},"login_redirect_sso_provider":{"type":"object","description":"When set and anonymous user opens any frontend page (except /login and /register), he will be redirected to specified SAML/OpenID provider authentication page. Set to `null` to unset\n","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of provider: `openid` or `saml`\n","example":"openid","enum":["openid","saml"]},"id":{"type":"string","description":"SAML/OpenID provider ID in this tenant","example":"5b4f337bff4304610483ba67"}}},"api_docs_config":{"type":"object","description":"Configuration object for tenant's api docs","properties":{"top_bar_background_color":{"type":"string","description":"CSS color for the top bar panel's background","example":"red"},"custom_css_url":{"type":"string","description":"URL for custom CSS file to be included in api docs","example":"http://host.com/custom.css"},"theme":{"type":"string","description":"Swagger themes","example":"outline","enum":["classic","feeling-blue","flattop","material","monokai","muted","newspaper","outline"]},"hidden_tags":{"type":"array","description":"Array of tags to hide in api docs","example":"[\"vpn agents\", \"sshkeys\"]","items":{"type":"string"}}}},"logout_redirect_url":{"type":"string","description":"The URL to redirect user to after logout from frontend. Set to `null` to unset\n","example":"https://sso.example.com/logout"},"flow_stats_enabled_default":{"type":"boolean","description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n\nIf you want to disable stats for all **newly created** flows of a workspace/contract/tenant, set\n`attributes.flow_stats_enabled_default` property of a target workspace/contract/tenant to `false`. This property is\ncascade. E.g. if on flow creation it's not defined or `true` for workspace, we will look for contract. If it's not\ndefined or `true` for contract, we will look for tenant. If it's not defined or `true` for tenant, flow will have\n`attributes.stats_enabled` = `true`. So we search upwards until see the first `false`, otherwise stats will be enabled.\n","example":true},"support_user_id":{"type":"string","description":"An ID of user from platform support team","example":"5b4f337bff4304610483ba67"},"default_workspace_type":{"type":"string","description":"Default Workspace type for Workspaces created in the Tenant. The value can be `full` or `limited`. If not specified, the attribute will be set to `full`or `limited` depending on Tenant settings\n","enum":["full","limited"],"example":"full"},"ingress_config":{"type":"object","description":"The tenant ingress configuration\n","properties":{"annotations":{"type":"object","description":"Custom ingress annotations to be added for tenant ingress\n","properties":{"app":{"type":"object","description":"Annotations for the frontend","example":{"nginx/123":"123","nginx/456":"456"}},"api":{"type":"object","description":"Annotations for the api","example":{"nginx/123":"123","nginx/456":"456"}},"webhooks":{"type":"object","description":"Annotations for the webhooks","example":{"nginx/mtls":"true","nginx/456":"456"}},"apidocs":{"type":"object","description":"Annotations for the api docs","example":{"nginx/mtls":"true","nginx/456":"456"}}}}}},"html_meta":{"type":"object","properties":{"keywords":{"type":"array","description":"Customer meta keywords in html pages","items":{"type":"string","example":"iPaaS"}},"description":{"type":"string","description":"Customer meta description in html pages","example":"Some description"},"author":{"type":"string","description":"Customer meta author in html pages","example":"John Doe"}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}},"post":{"tags":["tenants"],"summary":"Creates a Tenant","description":"You need `tenants.tenant.create` permission to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["tenant"]},"attributes":{"required":["name","app_domain","code","mandrill_email_from"],"properties":{"name":{"type":"string","example":"My New Tenant"},"app_domain":{"type":"string","example":"app.example.com"},"api_domain":{"type":"string","example":"api.example.com"},"webhooks_domain":{"type":"string","example":"in.example.com"},"api_docs_url":{"type":"string","description":"The URL to your custom API documentation","example":"api.example.com/docs/v2/'"},"git_receiver_host":{"type":"string","example":"git.example.com"},"code":{"type":"string","example":"mail_style"},"header_logo_url":{"type":"string","description":"The URL of image which will be displayed in the navigation panel (logo size 40x40 pixels, logo format - .png or .svg)\n","example":"//cdn.example.com/logo-header.png"},"loading_logo_url":{"type":"string","description":"The URL of image which will be displayed during the page loading","example":"//cdn.example.com/logo-loading.png"},"email_logo_url":{"type":"string","description":"The URL of image which will be displayed in the emails","example":"//cdn.example.com/logo-email.png"},"favicon_url":{"type":"string","description":"The URL of image which will be displayed as favicon","example":"//cdn.example.com/logo-favicon.png"},"terms_of_usage_url":{"type":"string","description":"The URL which redirects to the terms of usage page","example":"https://www.example.com/tou/"},"privacy_policy_url":{"type":"string","description":"The URL which redirects to the privacy policy page","example":"https://www.example.com/privacy-policy/"},"imprint_url":{"type":"string","description":"The URL which redirects to the imprint page","example":"https://www.example.com/legal-disclosure/"},"mandrill_email_from":{"type":"string","description":"An email of the letters sender","example":"foo@foo.bar"},"mandrill_api_key":{"type":"string","description":"The mandrill API key","example":"lEJsMG0Kpj8b00mEIp1de"},"segment_write_key":{"type":"string","description":"Segment write key","example":"Qtg2Y2i61KpjOSCYFUc9VLJH5UegUZDP"},"google_tag_manager_id":{"type":"string","description":"Google Tag Manager container `ID` without `GTM-` prefix\n","example":"5b4f337bff4304610483ba67"},"hide_register":{"type":"boolean","example":true},"is_default":{"type":"boolean","example":true,"description":"You can set only one default tenant per installation"},"hide_repos":{"type":"boolean","example":false},"hide_teams":{"type":"boolean","example":false},"hide_ssh_keys":{"type":"boolean","example":false},"hide_api_key":{"type":"boolean","example":false},"hide_docs":{"type":"boolean","example":false},"powered_by_elasticio":{"type":"boolean","example":true},"docs_base_url":{"type":"string","example":"https://docs.example.com/","description":"This link will applied to the Quick Help =>> Documentation menu and to the repository page docs link"},"component_docs_base_url":{"type":"string","example":"https://docs.example.com/components/","description":"Base URL for relative paths to component docs. E.g. if this url is `https://docs.example.com/components/` and `component.json` contains the following field `\"help\": {\"link\": \"salesforce\"}`, on frontend we will use `https://docs.example.com/components/salesforce` as a link to documentation of this component. If this property is not set, relative urls won't be displayed. If this property is set, make sure component_docs_base_url + 'getting-started/credential.html' page exists\n"},"ssl_certificates":{"type":"object","properties":{"app":{"type":"string","description":"An ID of SSL-certificate for a web-UI domain","example":"5b4f337bff4304610483ba67"},"api":{"type":"string","description":"An ID of SSL-certificate for API domain","example":"5b4f337bff4304610483ba67"},"webhooks":{"type":"string","description":"An ID of SSL-certificate for the webhooks domain","example":"5b4f337bff4304610483ba67"}}},"email_templates":{"type":"object","description":"hashMap of represent emails will be sent. By default \"repo-new-version\" and \"repo-new-version-in-workspace-flows\" are set to false\n","required":["agent-request","contract-deleted","contract-invite-empty-contract","contract-invite-new-user","contract-suspended","contract-unsuspended","password-recovery","repo-new-version","repo-new-version-in-workspace-flows","task-error-notification","task-operational-error","team-from-contract-invite","team-removed-member","user-removed-from-contract","wiper-exhaustion-quota-notification","wiper-flow-suspended-due-to-queue-overflow","wiper-stop-limited-flow","wiper-suspended-queue-purged","workspace-invite-empty-workspace","workspace-invite-new-user","workspace-removed","workspace-removed-member"],"properties":{"agent-request":{"type":"boolean","description":"Agent has been requested","example":true},"contract-deleted":{"type":"boolean","description":"Contract has been deleted","example":true},"contract-invite-empty-contract":{"type":"boolean","description":"New user has been invited to an empty Contract","example":true},"contract-invite-new-user":{"type":"boolean","description":"New user has been invited to the Contract","example":true},"contract-suspended":{"type":"boolean","description":"Contract has been suspended","example":true},"contract-unsuspended":{"type":"boolean","description":"Contract has been unsuspended","example":true},"password-recovery":{"type":"boolean","description":"Password recovery has been requested","example":true},"repo-new-version":{"type":"boolean","description":"New Component version has been pushed in your Developer Team","example":false},"repo-new-version-in-workspace-flows":{"type":"boolean","description":"New Component version has been pushed, Component used in your Flows","example":false},"task-error-notification":{"type":"boolean","description":"A Component has reported an error","example":true},"task-operational-error":{"type":"boolean","description":"A container has failed","example":true},"team-from-contract-invite":{"type":"boolean","description":"Has invited to contract's team","example":true},"team-removed-member":{"type":"boolean","description":"Team member has been removed","example":true},"user-removed-from-contract":{"type":"boolean","description":"Has removed user from contract","example":true},"wiper-exhaustion-quota-notification":{"type":"boolean","description":"Quota usage has come to the limit","example":true},"wiper-flow-suspended-due-to-queue-overflow":{"type":"boolean","description":"Flow has been suspended due to queue overflow","example":true},"wiper-stop-limited-flow":{"type":"boolean","description":"Flow has been stopped due to limitations of limited workspace","example":true},"wiper-suspended-queue-purged":{"type":"boolean","description":"Unhandled data has been purged","example":true},"workspace-invite-empty-workspace":{"type":"boolean","description":"User has been invited to an empty Workspace","example":true},"workspace-invite-new-user":{"type":"boolean","description":"Unregistered user has been invited to the Workspace","example":true},"workspace-removed":{"type":"boolean","description":"Workspace has been removed","example":true},"workspace-removed-member":{"type":"boolean","description":"Member has been removed from the Workspace","example":true}}},"suppress_email":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["repo-new-version","repo-new-version-in-workspace-flows"]},"custom_nav_menu_items":{"type":"array","items":{"anyOf":[{"type":"object","required":["title","icon","links"],"properties":{"title":{"type":"string","description":"The link text","example":"Quick Help"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"help"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"custom_class"},"links":{"type":"array","items":{"type":"object","required":["url","title","icon"],"properties":{"url":{"type":"string","description":"The URL which redirects to the needed page","example":"https://docs.example.com"},"title":{"type":"string","description":"The link text","example":"Documentation"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"description"},"target":{"type":"string","description":"A value can be `modal` or `_blank`. In case of \"target\"=\"modal\" link will be opened in the modal window. In case of \"target\":\"_blank\", link will be opened in the new tab. The value by default is `_blank`\n","example":"_blank"}}}}}},{"type":"object","required":["title","icon","custom_class"],"properties":{"title":{"type":"string","description":"The link text","example":"Help Center"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"forum"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"intercom-launcher"}}}]}},"custom_stylesheets":{"type":"array","items":{"type":"object","required":["href"],"properties":{"href":{"type":"string","description":"Customer css stylesheets","example":"http://path-to.css"}}}},"custom_scripts":{"type":"array","items":{"type":"object","required":["src"],"properties":{"src":{"type":"string","description":"The URL of js-script","example":"http://path-to-2.js"},"location":{"type":"string","description":"A value can be `head` or `body`. Location where js-script will be added inside html page. Default: \"head\"\n","enum":["head","body"],"default":"head","example":"head"}}}},"email_domains_blacklist":{"type":"array","items":{"type":"string","description":"Array of email domains with which users are not allowed to register","example":"[\"yahoo.*\",\"hotmail.com\"]\n"}},"feature_flags":{"type":"object","properties":{"contract_component_whitelist":{"type":"boolean","description":"Enable component whitelisting on contract level. Default: \"false\"\n","example":true},"enabled_totp":{"type":"boolean","description":"Enable ability to use two-factor authentication. Default: \"false\"\n","example":true},"forced_totp":{"type":"boolean","description":"Enforce users to setup two-factor authentication. Requires `attributes.feature_flags.enabled_totp` to be enabled. Default: \"false\"\n","example":true},"email_verification":{"type":"boolean","description":"Whether we send email verification letter to user during registration. Default: \"true\"\n","example":true},"sensitive_actions_reauth":{"type":"boolean","description":"Enable Reauthentication for sensitive endpoints. Default: \"false\"\n","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true},"shut_down_timeout_enabled":{"type":"boolean","description":"Enable the ability to set a timeout for shutting down a flow. Default: \"false\"\n","example":true},"skip_session_ip_validation":{"type":"boolean","description":"Dangerous feature flag option. Will disable IP check. Set to \"true\" to disable this additional security.\n","example":true}}},"signin_v_2":{"type":"object","description":"Enable new design for registration page","required":["logo_url","google_provider_id"],"properties":{"logo_url":{"type":"string","description":"The URL of image which will be displayed on new registration page. In case it's not specified, the `attributes.header_logo_url` will be used\n","example":"//cdn.example.com/logo.png"},"google_provider_id":{"type":"string","description":"Google OIDC Provider `id` in this tenant. Enables Google Sign In and Sign Up\n","example":"5b4f337bff4304610483ba67"}}},"login_redirect_sso_provider":{"type":"object","description":"When set and anonymous user opens any frontend page (except /login and /register), he will be redirected to specified SAML/OpenID provider authentication page. Set to `null` to unset\n","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of provider: `openid` or `saml`\n","example":"openid","enum":["openid","saml"]},"id":{"type":"string","description":"SAML/OpenID provider ID in this tenant","example":"5b4f337bff4304610483ba67"}}},"api_docs_config":{"type":"object","description":"Configuration object for tenant's api docs","properties":{"top_bar_background_color":{"type":"string","description":"CSS color for the top bar panel's background","example":"red"},"custom_css_url":{"type":"string","description":"URL for custom CSS file to be included in api docs","example":"http://host.com/custom.css"},"theme":{"type":"string","description":"Swagger themes","example":"outline","enum":["classic","feeling-blue","flattop","material","monokai","muted","newspaper","outline"]},"hidden_tags":{"type":"array","description":"Array of tags to hide in api docs","example":"[\"vpn agents\", \"sshkeys\"]","items":{"type":"string"}}}},"logout_redirect_url":{"type":"string","description":"The URL to redirect user to after logout from frontend. Set to `null` to unset\n","example":"https://sso.example.com/logout"},"flow_stats_enabled_default":{"type":"boolean","description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n\nIf you want to disable stats for all **newly created** flows of a workspace/contract/tenant, set\n`attributes.flow_stats_enabled_default` property of a target workspace/contract/tenant to `false`. This property is\ncascade. E.g. if on flow creation it's not defined or `true` for workspace, we will look for contract. If it's not\ndefined or `true` for contract, we will look for tenant. If it's not defined or `true` for tenant, flow will have\n`attributes.stats_enabled` = `true`. So we search upwards until see the first `false`, otherwise stats will be enabled.\n","example":true},"support_user_id":{"type":"string","description":"An ID of user from platform support team","example":"5b4f337bff4304610483ba67"},"default_workspace_type":{"type":"string","description":"Default Workspace type for Workspaces created in the Tenant. The value can be `full` or `limited`. If not specified, the attribute will be set to `full`or `limited` depending on Tenant settings\n","enum":["full","limited"],"example":"full"},"ingress_config":{"type":"object","description":"The tenant ingress configuration\n","properties":{"annotations":{"type":"object","description":"Custom ingress annotations to be added for tenant ingress\n","properties":{"app":{"type":"object","description":"Annotations for the frontend","example":{"nginx/123":"123","nginx/456":"456"}},"api":{"type":"object","description":"Annotations for the api","example":{"nginx/123":"123","nginx/456":"456"}},"webhooks":{"type":"object","description":"Annotations for the webhooks","example":{"nginx/mtls":"true","nginx/456":"456"}},"apidocs":{"type":"object","description":"Annotations for the api docs","example":{"nginx/mtls":"true","nginx/456":"456"}}}}}},"html_meta":{"type":"object","properties":{"keywords":{"type":"array","description":"Customer meta keywords in html pages","items":{"type":"string","example":"iPaaS"}},"description":{"type":"string","description":"Customer meta description in html pages","example":"Some description"},"author":{"type":"string","description":"Customer meta author in html pages","example":"John Doe"}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}},"attributes":{"required":["name","app_domain","code","mandrill_email_from"],"properties":{"name":{"type":"string","example":"My New Tenant"},"app_domain":{"type":"string","example":"app.example.com"},"api_domain":{"type":"string","example":"api.example.com"},"webhooks_domain":{"type":"string","example":"in.example.com"},"api_docs_url":{"type":"string","description":"The URL to your custom API documentation","example":"api.example.com/docs/v2/'"},"git_receiver_host":{"type":"string","example":"git.example.com"},"code":{"type":"string","example":"mail_style"},"header_logo_url":{"type":"string","description":"The URL of image which will be displayed in the navigation panel (logo size 40x40 pixels, logo format - .png or .svg)\n","example":"//cdn.example.com/logo-header.png"},"loading_logo_url":{"type":"string","description":"The URL of image which will be displayed during the page loading","example":"//cdn.example.com/logo-loading.png"},"email_logo_url":{"type":"string","description":"The URL of image which will be displayed in the emails","example":"//cdn.example.com/logo-email.png"},"favicon_url":{"type":"string","description":"The URL of image which will be displayed as favicon","example":"//cdn.example.com/logo-favicon.png"},"terms_of_usage_url":{"type":"string","description":"The URL which redirects to the terms of usage page","example":"https://www.example.com/tou/"},"privacy_policy_url":{"type":"string","description":"The URL which redirects to the privacy policy page","example":"https://www.example.com/privacy-policy/"},"imprint_url":{"type":"string","description":"The URL which redirects to the imprint page","example":"https://www.example.com/legal-disclosure/"},"mandrill_email_from":{"type":"string","description":"An email of the letters sender","example":"foo@foo.bar"},"mandrill_api_key":{"type":"string","description":"The mandrill API key","example":"lEJsMG0Kpj8b00mEIp1de"},"segment_write_key":{"type":"string","description":"Segment write key","example":"Qtg2Y2i61KpjOSCYFUc9VLJH5UegUZDP"},"google_tag_manager_id":{"type":"string","description":"Google Tag Manager container `ID` without `GTM-` prefix\n","example":"5b4f337bff4304610483ba67"},"hide_register":{"type":"boolean","example":true},"is_default":{"type":"boolean","example":true,"description":"You can set only one default tenant per installation"},"hide_repos":{"type":"boolean","example":false},"hide_teams":{"type":"boolean","example":false},"hide_ssh_keys":{"type":"boolean","example":false},"hide_api_key":{"type":"boolean","example":false},"hide_docs":{"type":"boolean","example":false},"powered_by_elasticio":{"type":"boolean","example":true},"docs_base_url":{"type":"string","example":"https://docs.example.com/","description":"This link will applied to the Quick Help =>> Documentation menu and to the repository page docs link"},"component_docs_base_url":{"type":"string","example":"https://docs.example.com/components/","description":"Base URL for relative paths to component docs. E.g. if this url is `https://docs.example.com/components/` and `component.json` contains the following field `\"help\": {\"link\": \"salesforce\"}`, on frontend we will use `https://docs.example.com/components/salesforce` as a link to documentation of this component. If this property is not set, relative urls won't be displayed. If this property is set, make sure component_docs_base_url + 'getting-started/credential.html' page exists\n"},"ssl_certificates":{"type":"object","properties":{"app":{"type":"string","description":"An ID of SSL-certificate for a web-UI domain","example":"5b4f337bff4304610483ba67"},"api":{"type":"string","description":"An ID of SSL-certificate for API domain","example":"5b4f337bff4304610483ba67"},"webhooks":{"type":"string","description":"An ID of SSL-certificate for the webhooks domain","example":"5b4f337bff4304610483ba67"}}},"email_templates":{"type":"object","description":"hashMap of represent emails will be sent. By default \"repo-new-version\" and \"repo-new-version-in-workspace-flows\" are set to false\n","required":["agent-request","contract-deleted","contract-invite-empty-contract","contract-invite-new-user","contract-suspended","contract-unsuspended","password-recovery","repo-new-version","repo-new-version-in-workspace-flows","task-error-notification","task-operational-error","team-from-contract-invite","team-removed-member","user-removed-from-contract","wiper-exhaustion-quota-notification","wiper-flow-suspended-due-to-queue-overflow","wiper-stop-limited-flow","wiper-suspended-queue-purged","workspace-invite-empty-workspace","workspace-invite-new-user","workspace-removed","workspace-removed-member"],"properties":{"agent-request":{"type":"boolean","description":"Agent has been requested","example":true},"contract-deleted":{"type":"boolean","description":"Contract has been deleted","example":true},"contract-invite-empty-contract":{"type":"boolean","description":"New user has been invited to an empty Contract","example":true},"contract-invite-new-user":{"type":"boolean","description":"New user has been invited to the Contract","example":true},"contract-suspended":{"type":"boolean","description":"Contract has been suspended","example":true},"contract-unsuspended":{"type":"boolean","description":"Contract has been unsuspended","example":true},"password-recovery":{"type":"boolean","description":"Password recovery has been requested","example":true},"repo-new-version":{"type":"boolean","description":"New Component version has been pushed in your Developer Team","example":false},"repo-new-version-in-workspace-flows":{"type":"boolean","description":"New Component version has been pushed, Component used in your Flows","example":false},"task-error-notification":{"type":"boolean","description":"A Component has reported an error","example":true},"task-operational-error":{"type":"boolean","description":"A container has failed","example":true},"team-from-contract-invite":{"type":"boolean","description":"Has invited to contract's team","example":true},"team-removed-member":{"type":"boolean","description":"Team member has been removed","example":true},"user-removed-from-contract":{"type":"boolean","description":"Has removed user from contract","example":true},"wiper-exhaustion-quota-notification":{"type":"boolean","description":"Quota usage has come to the limit","example":true},"wiper-flow-suspended-due-to-queue-overflow":{"type":"boolean","description":"Flow has been suspended due to queue overflow","example":true},"wiper-stop-limited-flow":{"type":"boolean","description":"Flow has been stopped due to limitations of limited workspace","example":true},"wiper-suspended-queue-purged":{"type":"boolean","description":"Unhandled data has been purged","example":true},"workspace-invite-empty-workspace":{"type":"boolean","description":"User has been invited to an empty Workspace","example":true},"workspace-invite-new-user":{"type":"boolean","description":"Unregistered user has been invited to the Workspace","example":true},"workspace-removed":{"type":"boolean","description":"Workspace has been removed","example":true},"workspace-removed-member":{"type":"boolean","description":"Member has been removed from the Workspace","example":true}}},"suppress_email":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["repo-new-version","repo-new-version-in-workspace-flows"]},"custom_nav_menu_items":{"type":"array","items":{"anyOf":[{"type":"object","required":["title","icon","links"],"properties":{"title":{"type":"string","description":"The link text","example":"Quick Help"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"help"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"custom_class"},"links":{"type":"array","items":{"type":"object","required":["url","title","icon"],"properties":{"url":{"type":"string","description":"The URL which redirects to the needed page","example":"https://docs.example.com"},"title":{"type":"string","description":"The link text","example":"Documentation"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"description"},"target":{"type":"string","description":"A value can be `modal` or `_blank`. In case of \"target\"=\"modal\" link will be opened in the modal window. In case of \"target\":\"_blank\", link will be opened in the new tab. The value by default is `_blank`\n","example":"_blank"}}}}}},{"type":"object","required":["title","icon","custom_class"],"properties":{"title":{"type":"string","description":"The link text","example":"Help Center"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"forum"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"intercom-launcher"}}}]}},"custom_stylesheets":{"type":"array","items":{"type":"object","required":["href"],"properties":{"href":{"type":"string","description":"Customer css stylesheets","example":"http://path-to.css"}}}},"custom_scripts":{"type":"array","items":{"type":"object","required":["src"],"properties":{"src":{"type":"string","description":"The URL of js-script","example":"http://path-to-2.js"},"location":{"type":"string","description":"A value can be `head` or `body`. Location where js-script will be added inside html page. Default: \"head\"\n","enum":["head","body"],"default":"head","example":"head"}}}},"email_domains_blacklist":{"type":"array","items":{"type":"string","description":"Array of email domains with which users are not allowed to register","example":"[\"yahoo.*\",\"hotmail.com\"]\n"}},"feature_flags":{"type":"object","properties":{"contract_component_whitelist":{"type":"boolean","description":"Enable component whitelisting on contract level. Default: \"false\"\n","example":true},"enabled_totp":{"type":"boolean","description":"Enable ability to use two-factor authentication. Default: \"false\"\n","example":true},"forced_totp":{"type":"boolean","description":"Enforce users to setup two-factor authentication. Requires `attributes.feature_flags.enabled_totp` to be enabled. Default: \"false\"\n","example":true},"email_verification":{"type":"boolean","description":"Whether we send email verification letter to user during registration. Default: \"true\"\n","example":true},"sensitive_actions_reauth":{"type":"boolean","description":"Enable Reauthentication for sensitive endpoints. Default: \"false\"\n","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true},"shut_down_timeout_enabled":{"type":"boolean","description":"Enable the ability to set a timeout for shutting down a flow. Default: \"false\"\n","example":true},"skip_session_ip_validation":{"type":"boolean","description":"Dangerous feature flag option. Will disable IP check. Set to \"true\" to disable this additional security.\n","example":true}}},"signin_v_2":{"type":"object","description":"Enable new design for registration page","required":["logo_url","google_provider_id"],"properties":{"logo_url":{"type":"string","description":"The URL of image which will be displayed on new registration page. In case it's not specified, the `attributes.header_logo_url` will be used\n","example":"//cdn.example.com/logo.png"},"google_provider_id":{"type":"string","description":"Google OIDC Provider `id` in this tenant. Enables Google Sign In and Sign Up\n","example":"5b4f337bff4304610483ba67"}}},"login_redirect_sso_provider":{"type":"object","description":"When set and anonymous user opens any frontend page (except /login and /register), he will be redirected to specified SAML/OpenID provider authentication page. Set to `null` to unset\n","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of provider: `openid` or `saml`\n","example":"openid","enum":["openid","saml"]},"id":{"type":"string","description":"SAML/OpenID provider ID in this tenant","example":"5b4f337bff4304610483ba67"}}},"api_docs_config":{"type":"object","description":"Configuration object for tenant's api docs","properties":{"top_bar_background_color":{"type":"string","description":"CSS color for the top bar panel's background","example":"red"},"custom_css_url":{"type":"string","description":"URL for custom CSS file to be included in api docs","example":"http://host.com/custom.css"},"theme":{"type":"string","description":"Swagger themes","example":"outline","enum":["classic","feeling-blue","flattop","material","monokai","muted","newspaper","outline"]},"hidden_tags":{"type":"array","description":"Array of tags to hide in api docs","example":"[\"vpn agents\", \"sshkeys\"]","items":{"type":"string"}}}},"logout_redirect_url":{"type":"string","description":"The URL to redirect user to after logout from frontend. Set to `null` to unset\n","example":"https://sso.example.com/logout"},"flow_stats_enabled_default":{"type":"boolean","description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n\nIf you want to disable stats for all **newly created** flows of a workspace/contract/tenant, set\n`attributes.flow_stats_enabled_default` property of a target workspace/contract/tenant to `false`. This property is\ncascade. E.g. if on flow creation it's not defined or `true` for workspace, we will look for contract. If it's not\ndefined or `true` for contract, we will look for tenant. If it's not defined or `true` for tenant, flow will have\n`attributes.stats_enabled` = `true`. So we search upwards until see the first `false`, otherwise stats will be enabled.\n","example":true},"support_user_id":{"type":"string","description":"An ID of user from platform support team","example":"5b4f337bff4304610483ba67"},"default_workspace_type":{"type":"string","description":"Default Workspace type for Workspaces created in the Tenant. The value can be `full` or `limited`. If not specified, the attribute will be set to `full`or `limited` depending on Tenant settings\n","enum":["full","limited"],"example":"full"},"ingress_config":{"type":"object","description":"The tenant ingress configuration\n","properties":{"annotations":{"type":"object","description":"Custom ingress annotations to be added for tenant ingress\n","properties":{"app":{"type":"object","description":"Annotations for the frontend","example":{"nginx/123":"123","nginx/456":"456"}},"api":{"type":"object","description":"Annotations for the api","example":{"nginx/123":"123","nginx/456":"456"}},"webhooks":{"type":"object","description":"Annotations for the webhooks","example":{"nginx/mtls":"true","nginx/456":"456"}},"apidocs":{"type":"object","description":"Annotations for the api docs","example":{"nginx/mtls":"true","nginx/456":"456"}}}}}},"html_meta":{"type":"object","properties":{"keywords":{"type":"array","description":"Customer meta keywords in html pages","items":{"type":"string","example":"iPaaS"}},"description":{"type":"string","description":"Customer meta description in html pages","example":"Some description"},"author":{"type":"string","description":"Customer meta author in html pages","example":"John Doe"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/tenants/{tenant_id}":{"get":{"tags":["tenants"],"summary":"Returns the Tenant based on the specified Tenant Id","description":"You need `tenants.tenant.get` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}},"attributes":{"required":["name","app_domain","code","mandrill_email_from"],"properties":{"name":{"type":"string","example":"My New Tenant"},"app_domain":{"type":"string","example":"app.example.com"},"api_domain":{"type":"string","example":"api.example.com"},"webhooks_domain":{"type":"string","example":"in.example.com"},"api_docs_url":{"type":"string","description":"The URL to your custom API documentation","example":"api.example.com/docs/v2/'"},"git_receiver_host":{"type":"string","example":"git.example.com"},"code":{"type":"string","example":"mail_style"},"header_logo_url":{"type":"string","description":"The URL of image which will be displayed in the navigation panel (logo size 40x40 pixels, logo format - .png or .svg)\n","example":"//cdn.example.com/logo-header.png"},"loading_logo_url":{"type":"string","description":"The URL of image which will be displayed during the page loading","example":"//cdn.example.com/logo-loading.png"},"email_logo_url":{"type":"string","description":"The URL of image which will be displayed in the emails","example":"//cdn.example.com/logo-email.png"},"favicon_url":{"type":"string","description":"The URL of image which will be displayed as favicon","example":"//cdn.example.com/logo-favicon.png"},"terms_of_usage_url":{"type":"string","description":"The URL which redirects to the terms of usage page","example":"https://www.example.com/tou/"},"privacy_policy_url":{"type":"string","description":"The URL which redirects to the privacy policy page","example":"https://www.example.com/privacy-policy/"},"imprint_url":{"type":"string","description":"The URL which redirects to the imprint page","example":"https://www.example.com/legal-disclosure/"},"mandrill_email_from":{"type":"string","description":"An email of the letters sender","example":"foo@foo.bar"},"mandrill_api_key":{"type":"string","description":"The mandrill API key","example":"lEJsMG0Kpj8b00mEIp1de"},"segment_write_key":{"type":"string","description":"Segment write key","example":"Qtg2Y2i61KpjOSCYFUc9VLJH5UegUZDP"},"google_tag_manager_id":{"type":"string","description":"Google Tag Manager container `ID` without `GTM-` prefix\n","example":"5b4f337bff4304610483ba67"},"hide_register":{"type":"boolean","example":true},"is_default":{"type":"boolean","example":true,"description":"You can set only one default tenant per installation"},"hide_repos":{"type":"boolean","example":false},"hide_teams":{"type":"boolean","example":false},"hide_ssh_keys":{"type":"boolean","example":false},"hide_api_key":{"type":"boolean","example":false},"hide_docs":{"type":"boolean","example":false},"powered_by_elasticio":{"type":"boolean","example":true},"docs_base_url":{"type":"string","example":"https://docs.example.com/","description":"This link will applied to the Quick Help =>> Documentation menu and to the repository page docs link"},"component_docs_base_url":{"type":"string","example":"https://docs.example.com/components/","description":"Base URL for relative paths to component docs. E.g. if this url is `https://docs.example.com/components/` and `component.json` contains the following field `\"help\": {\"link\": \"salesforce\"}`, on frontend we will use `https://docs.example.com/components/salesforce` as a link to documentation of this component. If this property is not set, relative urls won't be displayed. If this property is set, make sure component_docs_base_url + 'getting-started/credential.html' page exists\n"},"ssl_certificates":{"type":"object","properties":{"app":{"type":"string","description":"An ID of SSL-certificate for a web-UI domain","example":"5b4f337bff4304610483ba67"},"api":{"type":"string","description":"An ID of SSL-certificate for API domain","example":"5b4f337bff4304610483ba67"},"webhooks":{"type":"string","description":"An ID of SSL-certificate for the webhooks domain","example":"5b4f337bff4304610483ba67"}}},"email_templates":{"type":"object","description":"hashMap of represent emails will be sent. By default \"repo-new-version\" and \"repo-new-version-in-workspace-flows\" are set to false\n","required":["agent-request","contract-deleted","contract-invite-empty-contract","contract-invite-new-user","contract-suspended","contract-unsuspended","password-recovery","repo-new-version","repo-new-version-in-workspace-flows","task-error-notification","task-operational-error","team-from-contract-invite","team-removed-member","user-removed-from-contract","wiper-exhaustion-quota-notification","wiper-flow-suspended-due-to-queue-overflow","wiper-stop-limited-flow","wiper-suspended-queue-purged","workspace-invite-empty-workspace","workspace-invite-new-user","workspace-removed","workspace-removed-member"],"properties":{"agent-request":{"type":"boolean","description":"Agent has been requested","example":true},"contract-deleted":{"type":"boolean","description":"Contract has been deleted","example":true},"contract-invite-empty-contract":{"type":"boolean","description":"New user has been invited to an empty Contract","example":true},"contract-invite-new-user":{"type":"boolean","description":"New user has been invited to the Contract","example":true},"contract-suspended":{"type":"boolean","description":"Contract has been suspended","example":true},"contract-unsuspended":{"type":"boolean","description":"Contract has been unsuspended","example":true},"password-recovery":{"type":"boolean","description":"Password recovery has been requested","example":true},"repo-new-version":{"type":"boolean","description":"New Component version has been pushed in your Developer Team","example":false},"repo-new-version-in-workspace-flows":{"type":"boolean","description":"New Component version has been pushed, Component used in your Flows","example":false},"task-error-notification":{"type":"boolean","description":"A Component has reported an error","example":true},"task-operational-error":{"type":"boolean","description":"A container has failed","example":true},"team-from-contract-invite":{"type":"boolean","description":"Has invited to contract's team","example":true},"team-removed-member":{"type":"boolean","description":"Team member has been removed","example":true},"user-removed-from-contract":{"type":"boolean","description":"Has removed user from contract","example":true},"wiper-exhaustion-quota-notification":{"type":"boolean","description":"Quota usage has come to the limit","example":true},"wiper-flow-suspended-due-to-queue-overflow":{"type":"boolean","description":"Flow has been suspended due to queue overflow","example":true},"wiper-stop-limited-flow":{"type":"boolean","description":"Flow has been stopped due to limitations of limited workspace","example":true},"wiper-suspended-queue-purged":{"type":"boolean","description":"Unhandled data has been purged","example":true},"workspace-invite-empty-workspace":{"type":"boolean","description":"User has been invited to an empty Workspace","example":true},"workspace-invite-new-user":{"type":"boolean","description":"Unregistered user has been invited to the Workspace","example":true},"workspace-removed":{"type":"boolean","description":"Workspace has been removed","example":true},"workspace-removed-member":{"type":"boolean","description":"Member has been removed from the Workspace","example":true}}},"suppress_email":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["repo-new-version","repo-new-version-in-workspace-flows"]},"custom_nav_menu_items":{"type":"array","items":{"anyOf":[{"type":"object","required":["title","icon","links"],"properties":{"title":{"type":"string","description":"The link text","example":"Quick Help"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"help"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"custom_class"},"links":{"type":"array","items":{"type":"object","required":["url","title","icon"],"properties":{"url":{"type":"string","description":"The URL which redirects to the needed page","example":"https://docs.example.com"},"title":{"type":"string","description":"The link text","example":"Documentation"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"description"},"target":{"type":"string","description":"A value can be `modal` or `_blank`. In case of \"target\"=\"modal\" link will be opened in the modal window. In case of \"target\":\"_blank\", link will be opened in the new tab. The value by default is `_blank`\n","example":"_blank"}}}}}},{"type":"object","required":["title","icon","custom_class"],"properties":{"title":{"type":"string","description":"The link text","example":"Help Center"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"forum"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"intercom-launcher"}}}]}},"custom_stylesheets":{"type":"array","items":{"type":"object","required":["href"],"properties":{"href":{"type":"string","description":"Customer css stylesheets","example":"http://path-to.css"}}}},"custom_scripts":{"type":"array","items":{"type":"object","required":["src"],"properties":{"src":{"type":"string","description":"The URL of js-script","example":"http://path-to-2.js"},"location":{"type":"string","description":"A value can be `head` or `body`. Location where js-script will be added inside html page. Default: \"head\"\n","enum":["head","body"],"default":"head","example":"head"}}}},"email_domains_blacklist":{"type":"array","items":{"type":"string","description":"Array of email domains with which users are not allowed to register","example":"[\"yahoo.*\",\"hotmail.com\"]\n"}},"feature_flags":{"type":"object","properties":{"contract_component_whitelist":{"type":"boolean","description":"Enable component whitelisting on contract level. Default: \"false\"\n","example":true},"enabled_totp":{"type":"boolean","description":"Enable ability to use two-factor authentication. Default: \"false\"\n","example":true},"forced_totp":{"type":"boolean","description":"Enforce users to setup two-factor authentication. Requires `attributes.feature_flags.enabled_totp` to be enabled. Default: \"false\"\n","example":true},"email_verification":{"type":"boolean","description":"Whether we send email verification letter to user during registration. Default: \"true\"\n","example":true},"sensitive_actions_reauth":{"type":"boolean","description":"Enable Reauthentication for sensitive endpoints. Default: \"false\"\n","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true},"shut_down_timeout_enabled":{"type":"boolean","description":"Enable the ability to set a timeout for shutting down a flow. Default: \"false\"\n","example":true},"skip_session_ip_validation":{"type":"boolean","description":"Dangerous feature flag option. Will disable IP check. Set to \"true\" to disable this additional security.\n","example":true}}},"signin_v_2":{"type":"object","description":"Enable new design for registration page","required":["logo_url","google_provider_id"],"properties":{"logo_url":{"type":"string","description":"The URL of image which will be displayed on new registration page. In case it's not specified, the `attributes.header_logo_url` will be used\n","example":"//cdn.example.com/logo.png"},"google_provider_id":{"type":"string","description":"Google OIDC Provider `id` in this tenant. Enables Google Sign In and Sign Up\n","example":"5b4f337bff4304610483ba67"}}},"login_redirect_sso_provider":{"type":"object","description":"When set and anonymous user opens any frontend page (except /login and /register), he will be redirected to specified SAML/OpenID provider authentication page. Set to `null` to unset\n","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of provider: `openid` or `saml`\n","example":"openid","enum":["openid","saml"]},"id":{"type":"string","description":"SAML/OpenID provider ID in this tenant","example":"5b4f337bff4304610483ba67"}}},"api_docs_config":{"type":"object","description":"Configuration object for tenant's api docs","properties":{"top_bar_background_color":{"type":"string","description":"CSS color for the top bar panel's background","example":"red"},"custom_css_url":{"type":"string","description":"URL for custom CSS file to be included in api docs","example":"http://host.com/custom.css"},"theme":{"type":"string","description":"Swagger themes","example":"outline","enum":["classic","feeling-blue","flattop","material","monokai","muted","newspaper","outline"]},"hidden_tags":{"type":"array","description":"Array of tags to hide in api docs","example":"[\"vpn agents\", \"sshkeys\"]","items":{"type":"string"}}}},"logout_redirect_url":{"type":"string","description":"The URL to redirect user to after logout from frontend. Set to `null` to unset\n","example":"https://sso.example.com/logout"},"flow_stats_enabled_default":{"type":"boolean","description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n\nIf you want to disable stats for all **newly created** flows of a workspace/contract/tenant, set\n`attributes.flow_stats_enabled_default` property of a target workspace/contract/tenant to `false`. This property is\ncascade. E.g. if on flow creation it's not defined or `true` for workspace, we will look for contract. If it's not\ndefined or `true` for contract, we will look for tenant. If it's not defined or `true` for tenant, flow will have\n`attributes.stats_enabled` = `true`. So we search upwards until see the first `false`, otherwise stats will be enabled.\n","example":true},"support_user_id":{"type":"string","description":"An ID of user from platform support team","example":"5b4f337bff4304610483ba67"},"default_workspace_type":{"type":"string","description":"Default Workspace type for Workspaces created in the Tenant. The value can be `full` or `limited`. If not specified, the attribute will be set to `full`or `limited` depending on Tenant settings\n","enum":["full","limited"],"example":"full"},"ingress_config":{"type":"object","description":"The tenant ingress configuration\n","properties":{"annotations":{"type":"object","description":"Custom ingress annotations to be added for tenant ingress\n","properties":{"app":{"type":"object","description":"Annotations for the frontend","example":{"nginx/123":"123","nginx/456":"456"}},"api":{"type":"object","description":"Annotations for the api","example":{"nginx/123":"123","nginx/456":"456"}},"webhooks":{"type":"object","description":"Annotations for the webhooks","example":{"nginx/mtls":"true","nginx/456":"456"}},"apidocs":{"type":"object","description":"Annotations for the api docs","example":{"nginx/mtls":"true","nginx/456":"456"}}}}}},"html_meta":{"type":"object","properties":{"keywords":{"type":"array","description":"Customer meta keywords in html pages","items":{"type":"string","example":"iPaaS"}},"description":{"type":"string","description":"Customer meta description in html pages","example":"Some description"},"author":{"type":"string","description":"Customer meta author in html pages","example":"John Doe"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["tenants"],"summary":"Update the Tenant based on the specified Tenant Id","description":"You need `tenants.tenant.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["tenant"]},"attributes":{"required":["name","app_domain","code","mandrill_email_from"],"properties":{"name":{"type":"string","example":"My New Tenant"},"app_domain":{"type":"string","example":"app.example.com"},"api_domain":{"type":"string","example":"api.example.com"},"webhooks_domain":{"type":"string","example":"in.example.com"},"api_docs_url":{"type":"string","description":"The URL to your custom API documentation","example":"api.example.com/docs/v2/'"},"git_receiver_host":{"type":"string","example":"git.example.com"},"code":{"type":"string","example":"mail_style"},"header_logo_url":{"type":"string","description":"The URL of image which will be displayed in the navigation panel (logo size 40x40 pixels, logo format - .png or .svg)\n","example":"//cdn.example.com/logo-header.png"},"loading_logo_url":{"type":"string","description":"The URL of image which will be displayed during the page loading","example":"//cdn.example.com/logo-loading.png"},"email_logo_url":{"type":"string","description":"The URL of image which will be displayed in the emails","example":"//cdn.example.com/logo-email.png"},"favicon_url":{"type":"string","description":"The URL of image which will be displayed as favicon","example":"//cdn.example.com/logo-favicon.png"},"terms_of_usage_url":{"type":"string","description":"The URL which redirects to the terms of usage page","example":"https://www.example.com/tou/"},"privacy_policy_url":{"type":"string","description":"The URL which redirects to the privacy policy page","example":"https://www.example.com/privacy-policy/"},"imprint_url":{"type":"string","description":"The URL which redirects to the imprint page","example":"https://www.example.com/legal-disclosure/"},"mandrill_email_from":{"type":"string","description":"An email of the letters sender","example":"foo@foo.bar"},"mandrill_api_key":{"type":"string","description":"The mandrill API key","example":"lEJsMG0Kpj8b00mEIp1de"},"segment_write_key":{"type":"string","description":"Segment write key","example":"Qtg2Y2i61KpjOSCYFUc9VLJH5UegUZDP"},"google_tag_manager_id":{"type":"string","description":"Google Tag Manager container `ID` without `GTM-` prefix\n","example":"5b4f337bff4304610483ba67"},"hide_register":{"type":"boolean","example":true},"is_default":{"type":"boolean","example":true,"description":"You can set only one default tenant per installation"},"hide_repos":{"type":"boolean","example":false},"hide_teams":{"type":"boolean","example":false},"hide_ssh_keys":{"type":"boolean","example":false},"hide_api_key":{"type":"boolean","example":false},"hide_docs":{"type":"boolean","example":false},"powered_by_elasticio":{"type":"boolean","example":true},"docs_base_url":{"type":"string","example":"https://docs.example.com/","description":"This link will applied to the Quick Help =>> Documentation menu and to the repository page docs link"},"component_docs_base_url":{"type":"string","example":"https://docs.example.com/components/","description":"Base URL for relative paths to component docs. E.g. if this url is `https://docs.example.com/components/` and `component.json` contains the following field `\"help\": {\"link\": \"salesforce\"}`, on frontend we will use `https://docs.example.com/components/salesforce` as a link to documentation of this component. If this property is not set, relative urls won't be displayed. If this property is set, make sure component_docs_base_url + 'getting-started/credential.html' page exists\n"},"ssl_certificates":{"type":"object","properties":{"app":{"type":"string","description":"An ID of SSL-certificate for a web-UI domain","example":"5b4f337bff4304610483ba67"},"api":{"type":"string","description":"An ID of SSL-certificate for API domain","example":"5b4f337bff4304610483ba67"},"webhooks":{"type":"string","description":"An ID of SSL-certificate for the webhooks domain","example":"5b4f337bff4304610483ba67"}}},"email_templates":{"type":"object","description":"hashMap of represent emails will be sent. By default \"repo-new-version\" and \"repo-new-version-in-workspace-flows\" are set to false\n","required":["agent-request","contract-deleted","contract-invite-empty-contract","contract-invite-new-user","contract-suspended","contract-unsuspended","password-recovery","repo-new-version","repo-new-version-in-workspace-flows","task-error-notification","task-operational-error","team-from-contract-invite","team-removed-member","user-removed-from-contract","wiper-exhaustion-quota-notification","wiper-flow-suspended-due-to-queue-overflow","wiper-stop-limited-flow","wiper-suspended-queue-purged","workspace-invite-empty-workspace","workspace-invite-new-user","workspace-removed","workspace-removed-member"],"properties":{"agent-request":{"type":"boolean","description":"Agent has been requested","example":true},"contract-deleted":{"type":"boolean","description":"Contract has been deleted","example":true},"contract-invite-empty-contract":{"type":"boolean","description":"New user has been invited to an empty Contract","example":true},"contract-invite-new-user":{"type":"boolean","description":"New user has been invited to the Contract","example":true},"contract-suspended":{"type":"boolean","description":"Contract has been suspended","example":true},"contract-unsuspended":{"type":"boolean","description":"Contract has been unsuspended","example":true},"password-recovery":{"type":"boolean","description":"Password recovery has been requested","example":true},"repo-new-version":{"type":"boolean","description":"New Component version has been pushed in your Developer Team","example":false},"repo-new-version-in-workspace-flows":{"type":"boolean","description":"New Component version has been pushed, Component used in your Flows","example":false},"task-error-notification":{"type":"boolean","description":"A Component has reported an error","example":true},"task-operational-error":{"type":"boolean","description":"A container has failed","example":true},"team-from-contract-invite":{"type":"boolean","description":"Has invited to contract's team","example":true},"team-removed-member":{"type":"boolean","description":"Team member has been removed","example":true},"user-removed-from-contract":{"type":"boolean","description":"Has removed user from contract","example":true},"wiper-exhaustion-quota-notification":{"type":"boolean","description":"Quota usage has come to the limit","example":true},"wiper-flow-suspended-due-to-queue-overflow":{"type":"boolean","description":"Flow has been suspended due to queue overflow","example":true},"wiper-stop-limited-flow":{"type":"boolean","description":"Flow has been stopped due to limitations of limited workspace","example":true},"wiper-suspended-queue-purged":{"type":"boolean","description":"Unhandled data has been purged","example":true},"workspace-invite-empty-workspace":{"type":"boolean","description":"User has been invited to an empty Workspace","example":true},"workspace-invite-new-user":{"type":"boolean","description":"Unregistered user has been invited to the Workspace","example":true},"workspace-removed":{"type":"boolean","description":"Workspace has been removed","example":true},"workspace-removed-member":{"type":"boolean","description":"Member has been removed from the Workspace","example":true}}},"suppress_email":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["repo-new-version","repo-new-version-in-workspace-flows"]},"custom_nav_menu_items":{"type":"array","items":{"anyOf":[{"type":"object","required":["title","icon","links"],"properties":{"title":{"type":"string","description":"The link text","example":"Quick Help"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"help"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"custom_class"},"links":{"type":"array","items":{"type":"object","required":["url","title","icon"],"properties":{"url":{"type":"string","description":"The URL which redirects to the needed page","example":"https://docs.example.com"},"title":{"type":"string","description":"The link text","example":"Documentation"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"description"},"target":{"type":"string","description":"A value can be `modal` or `_blank`. In case of \"target\"=\"modal\" link will be opened in the modal window. In case of \"target\":\"_blank\", link will be opened in the new tab. The value by default is `_blank`\n","example":"_blank"}}}}}},{"type":"object","required":["title","icon","custom_class"],"properties":{"title":{"type":"string","description":"The link text","example":"Help Center"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"forum"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"intercom-launcher"}}}]}},"custom_stylesheets":{"type":"array","items":{"type":"object","required":["href"],"properties":{"href":{"type":"string","description":"Customer css stylesheets","example":"http://path-to.css"}}}},"custom_scripts":{"type":"array","items":{"type":"object","required":["src"],"properties":{"src":{"type":"string","description":"The URL of js-script","example":"http://path-to-2.js"},"location":{"type":"string","description":"A value can be `head` or `body`. Location where js-script will be added inside html page. Default: \"head\"\n","enum":["head","body"],"default":"head","example":"head"}}}},"email_domains_blacklist":{"type":"array","items":{"type":"string","description":"Array of email domains with which users are not allowed to register","example":"[\"yahoo.*\",\"hotmail.com\"]\n"}},"feature_flags":{"type":"object","properties":{"contract_component_whitelist":{"type":"boolean","description":"Enable component whitelisting on contract level. Default: \"false\"\n","example":true},"enabled_totp":{"type":"boolean","description":"Enable ability to use two-factor authentication. Default: \"false\"\n","example":true},"forced_totp":{"type":"boolean","description":"Enforce users to setup two-factor authentication. Requires `attributes.feature_flags.enabled_totp` to be enabled. Default: \"false\"\n","example":true},"email_verification":{"type":"boolean","description":"Whether we send email verification letter to user during registration. Default: \"true\"\n","example":true},"sensitive_actions_reauth":{"type":"boolean","description":"Enable Reauthentication for sensitive endpoints. Default: \"false\"\n","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true},"shut_down_timeout_enabled":{"type":"boolean","description":"Enable the ability to set a timeout for shutting down a flow. Default: \"false\"\n","example":true},"skip_session_ip_validation":{"type":"boolean","description":"Dangerous feature flag option. Will disable IP check. Set to \"true\" to disable this additional security.\n","example":true}}},"signin_v_2":{"type":"object","description":"Enable new design for registration page","required":["logo_url","google_provider_id"],"properties":{"logo_url":{"type":"string","description":"The URL of image which will be displayed on new registration page. In case it's not specified, the `attributes.header_logo_url` will be used\n","example":"//cdn.example.com/logo.png"},"google_provider_id":{"type":"string","description":"Google OIDC Provider `id` in this tenant. Enables Google Sign In and Sign Up\n","example":"5b4f337bff4304610483ba67"}}},"login_redirect_sso_provider":{"type":"object","description":"When set and anonymous user opens any frontend page (except /login and /register), he will be redirected to specified SAML/OpenID provider authentication page. Set to `null` to unset\n","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of provider: `openid` or `saml`\n","example":"openid","enum":["openid","saml"]},"id":{"type":"string","description":"SAML/OpenID provider ID in this tenant","example":"5b4f337bff4304610483ba67"}}},"api_docs_config":{"type":"object","description":"Configuration object for tenant's api docs","properties":{"top_bar_background_color":{"type":"string","description":"CSS color for the top bar panel's background","example":"red"},"custom_css_url":{"type":"string","description":"URL for custom CSS file to be included in api docs","example":"http://host.com/custom.css"},"theme":{"type":"string","description":"Swagger themes","example":"outline","enum":["classic","feeling-blue","flattop","material","monokai","muted","newspaper","outline"]},"hidden_tags":{"type":"array","description":"Array of tags to hide in api docs","example":"[\"vpn agents\", \"sshkeys\"]","items":{"type":"string"}}}},"logout_redirect_url":{"type":"string","description":"The URL to redirect user to after logout from frontend. Set to `null` to unset\n","example":"https://sso.example.com/logout"},"flow_stats_enabled_default":{"type":"boolean","description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n\nIf you want to disable stats for all **newly created** flows of a workspace/contract/tenant, set\n`attributes.flow_stats_enabled_default` property of a target workspace/contract/tenant to `false`. This property is\ncascade. E.g. if on flow creation it's not defined or `true` for workspace, we will look for contract. If it's not\ndefined or `true` for contract, we will look for tenant. If it's not defined or `true` for tenant, flow will have\n`attributes.stats_enabled` = `true`. So we search upwards until see the first `false`, otherwise stats will be enabled.\n","example":true},"support_user_id":{"type":"string","description":"An ID of user from platform support team","example":"5b4f337bff4304610483ba67"},"default_workspace_type":{"type":"string","description":"Default Workspace type for Workspaces created in the Tenant. The value can be `full` or `limited`. If not specified, the attribute will be set to `full`or `limited` depending on Tenant settings\n","enum":["full","limited"],"example":"full"},"ingress_config":{"type":"object","description":"The tenant ingress configuration\n","properties":{"annotations":{"type":"object","description":"Custom ingress annotations to be added for tenant ingress\n","properties":{"app":{"type":"object","description":"Annotations for the frontend","example":{"nginx/123":"123","nginx/456":"456"}},"api":{"type":"object","description":"Annotations for the api","example":{"nginx/123":"123","nginx/456":"456"}},"webhooks":{"type":"object","description":"Annotations for the webhooks","example":{"nginx/mtls":"true","nginx/456":"456"}},"apidocs":{"type":"object","description":"Annotations for the api docs","example":{"nginx/mtls":"true","nginx/456":"456"}}}}}},"html_meta":{"type":"object","properties":{"keywords":{"type":"array","description":"Customer meta keywords in html pages","items":{"type":"string","example":"iPaaS"}},"description":{"type":"string","description":"Customer meta description in html pages","example":"Some description"},"author":{"type":"string","description":"Customer meta author in html pages","example":"John Doe"}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}},"attributes":{"required":["name","app_domain","code","mandrill_email_from"],"properties":{"name":{"type":"string","example":"My New Tenant"},"app_domain":{"type":"string","example":"app.example.com"},"api_domain":{"type":"string","example":"api.example.com"},"webhooks_domain":{"type":"string","example":"in.example.com"},"api_docs_url":{"type":"string","description":"The URL to your custom API documentation","example":"api.example.com/docs/v2/'"},"git_receiver_host":{"type":"string","example":"git.example.com"},"code":{"type":"string","example":"mail_style"},"header_logo_url":{"type":"string","description":"The URL of image which will be displayed in the navigation panel (logo size 40x40 pixels, logo format - .png or .svg)\n","example":"//cdn.example.com/logo-header.png"},"loading_logo_url":{"type":"string","description":"The URL of image which will be displayed during the page loading","example":"//cdn.example.com/logo-loading.png"},"email_logo_url":{"type":"string","description":"The URL of image which will be displayed in the emails","example":"//cdn.example.com/logo-email.png"},"favicon_url":{"type":"string","description":"The URL of image which will be displayed as favicon","example":"//cdn.example.com/logo-favicon.png"},"terms_of_usage_url":{"type":"string","description":"The URL which redirects to the terms of usage page","example":"https://www.example.com/tou/"},"privacy_policy_url":{"type":"string","description":"The URL which redirects to the privacy policy page","example":"https://www.example.com/privacy-policy/"},"imprint_url":{"type":"string","description":"The URL which redirects to the imprint page","example":"https://www.example.com/legal-disclosure/"},"mandrill_email_from":{"type":"string","description":"An email of the letters sender","example":"foo@foo.bar"},"mandrill_api_key":{"type":"string","description":"The mandrill API key","example":"lEJsMG0Kpj8b00mEIp1de"},"segment_write_key":{"type":"string","description":"Segment write key","example":"Qtg2Y2i61KpjOSCYFUc9VLJH5UegUZDP"},"google_tag_manager_id":{"type":"string","description":"Google Tag Manager container `ID` without `GTM-` prefix\n","example":"5b4f337bff4304610483ba67"},"hide_register":{"type":"boolean","example":true},"is_default":{"type":"boolean","example":true,"description":"You can set only one default tenant per installation"},"hide_repos":{"type":"boolean","example":false},"hide_teams":{"type":"boolean","example":false},"hide_ssh_keys":{"type":"boolean","example":false},"hide_api_key":{"type":"boolean","example":false},"hide_docs":{"type":"boolean","example":false},"powered_by_elasticio":{"type":"boolean","example":true},"docs_base_url":{"type":"string","example":"https://docs.example.com/","description":"This link will applied to the Quick Help =>> Documentation menu and to the repository page docs link"},"component_docs_base_url":{"type":"string","example":"https://docs.example.com/components/","description":"Base URL for relative paths to component docs. E.g. if this url is `https://docs.example.com/components/` and `component.json` contains the following field `\"help\": {\"link\": \"salesforce\"}`, on frontend we will use `https://docs.example.com/components/salesforce` as a link to documentation of this component. If this property is not set, relative urls won't be displayed. If this property is set, make sure component_docs_base_url + 'getting-started/credential.html' page exists\n"},"ssl_certificates":{"type":"object","properties":{"app":{"type":"string","description":"An ID of SSL-certificate for a web-UI domain","example":"5b4f337bff4304610483ba67"},"api":{"type":"string","description":"An ID of SSL-certificate for API domain","example":"5b4f337bff4304610483ba67"},"webhooks":{"type":"string","description":"An ID of SSL-certificate for the webhooks domain","example":"5b4f337bff4304610483ba67"}}},"email_templates":{"type":"object","description":"hashMap of represent emails will be sent. By default \"repo-new-version\" and \"repo-new-version-in-workspace-flows\" are set to false\n","required":["agent-request","contract-deleted","contract-invite-empty-contract","contract-invite-new-user","contract-suspended","contract-unsuspended","password-recovery","repo-new-version","repo-new-version-in-workspace-flows","task-error-notification","task-operational-error","team-from-contract-invite","team-removed-member","user-removed-from-contract","wiper-exhaustion-quota-notification","wiper-flow-suspended-due-to-queue-overflow","wiper-stop-limited-flow","wiper-suspended-queue-purged","workspace-invite-empty-workspace","workspace-invite-new-user","workspace-removed","workspace-removed-member"],"properties":{"agent-request":{"type":"boolean","description":"Agent has been requested","example":true},"contract-deleted":{"type":"boolean","description":"Contract has been deleted","example":true},"contract-invite-empty-contract":{"type":"boolean","description":"New user has been invited to an empty Contract","example":true},"contract-invite-new-user":{"type":"boolean","description":"New user has been invited to the Contract","example":true},"contract-suspended":{"type":"boolean","description":"Contract has been suspended","example":true},"contract-unsuspended":{"type":"boolean","description":"Contract has been unsuspended","example":true},"password-recovery":{"type":"boolean","description":"Password recovery has been requested","example":true},"repo-new-version":{"type":"boolean","description":"New Component version has been pushed in your Developer Team","example":false},"repo-new-version-in-workspace-flows":{"type":"boolean","description":"New Component version has been pushed, Component used in your Flows","example":false},"task-error-notification":{"type":"boolean","description":"A Component has reported an error","example":true},"task-operational-error":{"type":"boolean","description":"A container has failed","example":true},"team-from-contract-invite":{"type":"boolean","description":"Has invited to contract's team","example":true},"team-removed-member":{"type":"boolean","description":"Team member has been removed","example":true},"user-removed-from-contract":{"type":"boolean","description":"Has removed user from contract","example":true},"wiper-exhaustion-quota-notification":{"type":"boolean","description":"Quota usage has come to the limit","example":true},"wiper-flow-suspended-due-to-queue-overflow":{"type":"boolean","description":"Flow has been suspended due to queue overflow","example":true},"wiper-stop-limited-flow":{"type":"boolean","description":"Flow has been stopped due to limitations of limited workspace","example":true},"wiper-suspended-queue-purged":{"type":"boolean","description":"Unhandled data has been purged","example":true},"workspace-invite-empty-workspace":{"type":"boolean","description":"User has been invited to an empty Workspace","example":true},"workspace-invite-new-user":{"type":"boolean","description":"Unregistered user has been invited to the Workspace","example":true},"workspace-removed":{"type":"boolean","description":"Workspace has been removed","example":true},"workspace-removed-member":{"type":"boolean","description":"Member has been removed from the Workspace","example":true}}},"suppress_email":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["repo-new-version","repo-new-version-in-workspace-flows"]},"custom_nav_menu_items":{"type":"array","items":{"anyOf":[{"type":"object","required":["title","icon","links"],"properties":{"title":{"type":"string","description":"The link text","example":"Quick Help"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"help"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"custom_class"},"links":{"type":"array","items":{"type":"object","required":["url","title","icon"],"properties":{"url":{"type":"string","description":"The URL which redirects to the needed page","example":"https://docs.example.com"},"title":{"type":"string","description":"The link text","example":"Documentation"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"description"},"target":{"type":"string","description":"A value can be `modal` or `_blank`. In case of \"target\"=\"modal\" link will be opened in the modal window. In case of \"target\":\"_blank\", link will be opened in the new tab. The value by default is `_blank`\n","example":"_blank"}}}}}},{"type":"object","required":["title","icon","custom_class"],"properties":{"title":{"type":"string","description":"The link text","example":"Help Center"},"icon":{"type":"string","description":"The icon name from [material-icons](https://material.io/tools/icons/?style=baseline)\n","example":"forum"},"custom_class":{"type":"string","description":"The class added to <a> tag","example":"intercom-launcher"}}}]}},"custom_stylesheets":{"type":"array","items":{"type":"object","required":["href"],"properties":{"href":{"type":"string","description":"Customer css stylesheets","example":"http://path-to.css"}}}},"custom_scripts":{"type":"array","items":{"type":"object","required":["src"],"properties":{"src":{"type":"string","description":"The URL of js-script","example":"http://path-to-2.js"},"location":{"type":"string","description":"A value can be `head` or `body`. Location where js-script will be added inside html page. Default: \"head\"\n","enum":["head","body"],"default":"head","example":"head"}}}},"email_domains_blacklist":{"type":"array","items":{"type":"string","description":"Array of email domains with which users are not allowed to register","example":"[\"yahoo.*\",\"hotmail.com\"]\n"}},"feature_flags":{"type":"object","properties":{"contract_component_whitelist":{"type":"boolean","description":"Enable component whitelisting on contract level. Default: \"false\"\n","example":true},"enabled_totp":{"type":"boolean","description":"Enable ability to use two-factor authentication. Default: \"false\"\n","example":true},"forced_totp":{"type":"boolean","description":"Enforce users to setup two-factor authentication. Requires `attributes.feature_flags.enabled_totp` to be enabled. Default: \"false\"\n","example":true},"email_verification":{"type":"boolean","description":"Whether we send email verification letter to user during registration. Default: \"true\"\n","example":true},"sensitive_actions_reauth":{"type":"boolean","description":"Enable Reauthentication for sensitive endpoints. Default: \"false\"\n","example":true},"subscribe_to_error_by_default":{"type":"boolean","description":"Subscribe to error notifications from flows by default. Default: \"true\"\n","example":true},"shut_down_timeout_enabled":{"type":"boolean","description":"Enable the ability to set a timeout for shutting down a flow. Default: \"false\"\n","example":true},"skip_session_ip_validation":{"type":"boolean","description":"Dangerous feature flag option. Will disable IP check. Set to \"true\" to disable this additional security.\n","example":true}}},"signin_v_2":{"type":"object","description":"Enable new design for registration page","required":["logo_url","google_provider_id"],"properties":{"logo_url":{"type":"string","description":"The URL of image which will be displayed on new registration page. In case it's not specified, the `attributes.header_logo_url` will be used\n","example":"//cdn.example.com/logo.png"},"google_provider_id":{"type":"string","description":"Google OIDC Provider `id` in this tenant. Enables Google Sign In and Sign Up\n","example":"5b4f337bff4304610483ba67"}}},"login_redirect_sso_provider":{"type":"object","description":"When set and anonymous user opens any frontend page (except /login and /register), he will be redirected to specified SAML/OpenID provider authentication page. Set to `null` to unset\n","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of provider: `openid` or `saml`\n","example":"openid","enum":["openid","saml"]},"id":{"type":"string","description":"SAML/OpenID provider ID in this tenant","example":"5b4f337bff4304610483ba67"}}},"api_docs_config":{"type":"object","description":"Configuration object for tenant's api docs","properties":{"top_bar_background_color":{"type":"string","description":"CSS color for the top bar panel's background","example":"red"},"custom_css_url":{"type":"string","description":"URL for custom CSS file to be included in api docs","example":"http://host.com/custom.css"},"theme":{"type":"string","description":"Swagger themes","example":"outline","enum":["classic","feeling-blue","flattop","material","monokai","muted","newspaper","outline"]},"hidden_tags":{"type":"array","description":"Array of tags to hide in api docs","example":"[\"vpn agents\", \"sshkeys\"]","items":{"type":"string"}}}},"logout_redirect_url":{"type":"string","description":"The URL to redirect user to after logout from frontend. Set to `null` to unset\n","example":"https://sso.example.com/logout"},"flow_stats_enabled_default":{"type":"boolean","description":"*Flow Stats Toggle*\n\nBy default each step of a flow generates stats about input/output messages and errors. You can see them on the\nExecutions and Dashboard pages. To disable input/output message stats you can set flow's `attributes.stats_enabled`\nflag to `false`.\n\nIf you want to disable stats for all **newly created** flows of a workspace/contract/tenant, set\n`attributes.flow_stats_enabled_default` property of a target workspace/contract/tenant to `false`. This property is\ncascade. E.g. if on flow creation it's not defined or `true` for workspace, we will look for contract. If it's not\ndefined or `true` for contract, we will look for tenant. If it's not defined or `true` for tenant, flow will have\n`attributes.stats_enabled` = `true`. So we search upwards until see the first `false`, otherwise stats will be enabled.\n","example":true},"support_user_id":{"type":"string","description":"An ID of user from platform support team","example":"5b4f337bff4304610483ba67"},"default_workspace_type":{"type":"string","description":"Default Workspace type for Workspaces created in the Tenant. The value can be `full` or `limited`. If not specified, the attribute will be set to `full`or `limited` depending on Tenant settings\n","enum":["full","limited"],"example":"full"},"ingress_config":{"type":"object","description":"The tenant ingress configuration\n","properties":{"annotations":{"type":"object","description":"Custom ingress annotations to be added for tenant ingress\n","properties":{"app":{"type":"object","description":"Annotations for the frontend","example":{"nginx/123":"123","nginx/456":"456"}},"api":{"type":"object","description":"Annotations for the api","example":{"nginx/123":"123","nginx/456":"456"}},"webhooks":{"type":"object","description":"Annotations for the webhooks","example":{"nginx/mtls":"true","nginx/456":"456"}},"apidocs":{"type":"object","description":"Annotations for the api docs","example":{"nginx/mtls":"true","nginx/456":"456"}}}}}},"html_meta":{"type":"object","properties":{"keywords":{"type":"array","description":"Customer meta keywords in html pages","items":{"type":"string","example":"iPaaS"}},"description":{"type":"string","description":"Customer meta description in html pages","example":"Some description"},"author":{"type":"string","description":"Customer meta author in html pages","example":"John Doe"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["tenants"],"summary":"Remove the Tenant based on the specified Tenant Id","description":"_A Tenant will be deleted only if it does not contain any contracts_\nYou need `tenants.tenant.delete` permission to access this resource\n","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/roles":{"get":{"tags":["tenants"],"summary":"Lists Tenant’s roles based on the specified Tenant Id","description":"You need `tenants.tenant.list_roles` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant-policy"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"anyOf":[{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.workspace.create","contracts.workspace.listAll","contracts.workspace.delete","contracts.repository.edit","contracts.devTeam.edit","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Member"}}},"role":{"type":"string","example":"member"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.workspace.create"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","global.auth_clients.edit","global.auth_clients.create","global.auth_clients.delete","workspaces.workspace.edit","workspaces.workspace.edit_membership_support","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.flow.exportToRecipe","workspaces.logs.read_all","workspaces.recipe.edit","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Integrator"}}},"role":{"type":"string","example":"integrator"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["workspaces.recipe.edit","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.flow.exportToRecipe","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.logs.read_all","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Guest"}}},"role":{"type":"string","example":"guest"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","workspaces.auth_secret.get","workspaces.logs.read_all","workspaces.vpn_agent.get","workspaces.topic.get"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Owner"}}},"role":{"type":"string","example":"owner"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.contract.edit","contracts.membership.edit","contracts.workspace_limits.edit","contracts.workspace.create","contracts.workspace.listAll","contracts.workspace.delete","global.stats.workspaces","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","global.auth_clients.edit","global.auth_clients.create","global.auth_clients.delete","workspaces.workspace.edit","workspaces.workspace.edit_membership_support","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.logs.read_all","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}}]}}}},"relationships":{"type":"object","required":["tenant"],"properties":{"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67\""}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/roles"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["tenants"],"summary":"Update Tenant’s roles based on the specified Tenant Id","description":"You need `global.tenant.edit_roles` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["tenant-policy"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"anyOf":[{"type":"object","required":["permissions"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","description":"The name of a role in different languages. The value is only required for “en” key. For other languages value is optional\n","example":"new_role"}}},"role":{"type":"string","description":"Name of a role","example":"name_of_new_role"},"permissions":{"type":"array","description":"An array of permissions. It can be empty. To get the list of available permissions execute [Get the list of available permissions](../openapi.yaml#/~1permissions) endpoint\n","items":{"type":"string"},"uniqueItems":true,"example":["workspaces.logs.read_all","workspaces.vpn_agent.get","workspaces.topic.get"]},"scope":{"type":"string","description":"The group of objects, which is affected by this role. Allowed values: \"tenants\", \"contracts\", \"workspaces\"\n","example":"workspaces","enum":["tenants","contracts","workspaces"]}}},{"type":"object","required":["permissions"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","description":"The name of a role in different languages. The value is only required for \"en\" key. For other languages value is optional\n","example":"new_role"}}},"role":{"type":"string","description":"Name of a role","example":"name_of_new_role"},"permissions":{"type":"array","description":"An array of permissions. It can be empty. To get the list of available permissions execute [Get the list of available permissions](../openapi.yaml#/~1permissions) endpoint\n","items":{"type":"string"},"uniqueItems":true,"example":["contracts.workspace.create","contracts.devTeam.edit"]},"scope":{"type":"string","description":"The group of objects, which is affected by this role. Allowed values: \"tenants\", \"contracts\", \"workspaces\"\n","example":"contracts","enum":["tenants","contracts","workspaces"]},"newTenantRole":{"type":"object","required":["permissions"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","description":"The name of a role in different languages. The value is only required for \"en\" key. For other languages value is optional\n","example":"new_role"}}},"role":{"type":"string","description":"Name of a role","example":"name_of_new_role"},"permissions":{"type":"array","description":"An array of permissions. It can be empty. To get the list of available permissions execute [Get the list of available permissions](../openapi.yaml#/~1permissions) endpoint\n","items":{"type":"string"},"uniqueItems":true,"example":["tenants.user.generate_one_time_token"]},"scope":{"type":"string","description":"The group of objects, which is affected by this role. Allowed values: \"tenants\", \"contracts\", \"workspaces\"\n","example":"tenants","enum":["tenants","contracts","workspaces"]}}}}},{"$ref":"#/newTenantRole"}]}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant-policy"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"anyOf":[{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.workspace.create","contracts.workspace.listAll","contracts.workspace.delete","contracts.repository.edit","contracts.devTeam.edit","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Member"}}},"role":{"type":"string","example":"member"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.workspace.create"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","global.auth_clients.edit","global.auth_clients.create","global.auth_clients.delete","workspaces.workspace.edit","workspaces.workspace.edit_membership_support","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.flow.exportToRecipe","workspaces.logs.read_all","workspaces.recipe.edit","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Integrator"}}},"role":{"type":"string","example":"integrator"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["workspaces.recipe.edit","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.flow.exportToRecipe","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.logs.read_all","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Guest"}}},"role":{"type":"string","example":"guest"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","workspaces.auth_secret.get","workspaces.logs.read_all","workspaces.vpn_agent.get","workspaces.topic.get"]},"scope":{"type":"string","example":"workspaces"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Owner"}}},"role":{"type":"string","example":"owner"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["contracts.contract.edit","contracts.membership.edit","contracts.workspace_limits.edit","contracts.workspace.create","contracts.workspace.listAll","contracts.workspace.delete","global.stats.workspaces","global.auth_clients.create","global.auth_clients.get","global.auth_clients.edit","global.auth_clients.delete"]},"scope":{"type":"string","example":"contracts"}}},{"type":"object","required":["i18n","role","permissions","scope"],"properties":{"i18n":{"type":"object","properties":{"en":{"type":"string","example":"Admin"}}},"role":{"type":"string","example":"admin"},"permissions":{"type":"array","items":{"type":"string"},"uniqueItems":true,"example":["global.auth_clients.get","global.auth_clients.edit","global.auth_clients.create","global.auth_clients.delete","workspaces.workspace.edit","workspaces.workspace.edit_membership_support","workspaces.auth_secret.get","workspaces.auth_secret.get_credentials","workspaces.auth_secret.edit","workspaces.auth_secret.create","workspaces.auth_secret.delete","workspaces.auth_secret.refresh","workspaces.flow.edit","workspaces.flow.toggleStatus","workspaces.flow.toggleRealtime","workspaces.logs.read_all","workspaces.credential.edit","workspaces.vpn_agent.create","workspaces.vpn_agent.get","workspaces.vpn_agent.edit","workspaces.vpn_agent.delete","workspaces.vpn_agent.get_config","workspaces.topic.create","workspaces.topic.get","workspaces.topic.edit","workspaces.topic.delete"]},"scope":{"type":"string","example":"workspaces"}}}]}}}},"relationships":{"type":"object","required":["tenant"],"properties":{"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67\""}}}}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/roles"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/certificates":{"post":{"tags":["tenants"],"summary":"Creates an SSL certificate","description":"You need `tenants.certificate.create` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["attributes"],"properties":{"attributes":{"type":"object","required":["publicKey","privateKey"],"properties":{"publicKey":{"type":"string","description":"CERTIFICATE","example":"-----BEGIN CERTIFICATE-----\\nMIIDBzCCAe+gAwIBAgIJAJUJjkTXpUpsMA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV\\nBAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xOTAxMjExNTI2MjlaFw0yOTAxMTgxNTI2\\nMjlaMBoxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB\\nBQADggEPADCCAQoCggEBAObwTSg+ONjsjJrKamhi3z/cf22eBfu/T1xU+4Dhr1IW\\nRBsthAMaGNuqMkUfQ6d+9rtEi5CXOmzjbtHRkIpkILeTNdb86KIbkaYR/wl4QsOm\\nCp5pfjZ3dDfdtoK4sKrrbo063eYpr9StPFN6oUY/crXTDIGXciEx7oJWvF9yoUc0\\nuLyQJ4i13fPWhzAN9vUyIvOShWCCoo8B3uOWQqwDt1oB1XQZmH9qeNELl+DlvL9a\\nh6voVTd99IlNEQfPz9fNspJarIlG9VNBC1/FJZ0oRUVWpaHJKZYEUoQdE1d/cnLR\\nLVtgrYjyLZX3xAzdp/SnvvSMV8fG0VN58lYW6VtXqlUCAwEAAaNQME4wHQYDVR0O\\nBBYEFFHME3mE223LXxe6xEpLozU2osIlMB8GA1UdIwQYMBaAFFHME3mE223LXxe6\\nxEpLozU2osIlMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBANwX5Jv/\\nNw9+Tme/FUey20kUMH26pVk7FAhKB8Zo2oM14+3TTSolrPrb56BuTfQyFGivzukR\\noU/Su7hLE0n+z0cPrPhmaI4t81lfvmtzYJ2Nb4cG88Em1mRqccKfoEvQsrMVPVX0\\n8WwIY3h+nqUoQsM5q/GcL6OG9uixB7uyWiuTpa9NVUm5RVFuiMserIIHtRdWUJPf\\nbGBWipOdCDGNuCGwoPVsZDFdjaxoyZV/oClFqS5prMQA6XOOGreg+Uei/iqLj0Kh\\nQ1IshPaxFYubSfRANsqgh7dKoBq8biSC0a6A0Bah7NsBv4htJsi1z5zYwFynS6Rg\\ndBg94fDKiidmYLc=\\n-----END CERTIFICATE-----\n"},"privateKey":{"type":"string","description":"RSA PRIVATE KEY","example":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEA5vBNKD442OyMmspqaGLfP9x/bZ4F+79PXFT7gOGvUhZEGy2E\\nAxoY26oyRR9Dp372u0SLkJc6bONu0dGQimQgt5M11vzoohuRphH/CXhCw6YKnml+\\nNnd0N922griwqutujTrd5imv1K08U3qhRj9ytdMMgZdyITHugla8X3KhRzS4vJAn\\niLXd89aHMA329TIi85KFYIKijwHe45ZCrAO3WgHVdBmYf2p40QuX4OW8v1qHq+hV\\nN330iU0RB8/P182yklqsiUb1U0ELX8UlnShFRValockplgRShB0TV39yctEtW2Ct\\niPItlffEDN2n9Ke+9IxXx8bRU3nyVhbpW1eqVQIDAQABAoIBADboX4/361A4Pd33\\nzoDvMSFf7bREZCvM+rN7SSkFf8fGn37OvZp3M/3WY4lnu5Axcbxoub4xFqUZFhow\\n92rQD69WAvEQxMb2QxT3Jmo7+7PE4LV1Y5rToABAaMp/2xFoVKqjmmrE8pdgcP1w\\nJLQtFbsBaPHO7kXSN2Ep+jO/b3UcMkIra4yjMO7Vk68w8ntpvXDEt4cg7P3BEbwj\\nRuXK3ynmNbeDta/7iWSuZfVM2cSRQOSiyeccFIkhdfXzVpcFrtLDTz5AD/RDgFkE\\nvCgxEESsXji3pkbPET23C+07zaexi6jfDHiRihQB1l7aS9pVds8yTEFOQy3KPevZ\\npFS2VQECgYEA+GJdgT+/EziFcS4VTpXmUIoAGVzSne6Wl9pAU4Aoh5rounj83qA0\\nuJscaoQo2qAELw6nYSM+2Pct+m6Wi0aybDdxcECx7SqQ2O6lY55rEkQBgkXjRU2C\\nqMMLvPZCuyl9Q1jJa497FG1EH2Jx+gBvKTQ1iIL2BhyU1CnsRqwbyuECgYEA7gUA\\nUKeuxfeBR9/Jxis+qh6eirTrIN+rp9FLoe+6pBXjMObp6D1+WGhG3acVSas7UAHW\\nrjDd0dl1Byoseh7BNmDsB0Hbiu4cUvaTwvcxxfw6o7gRaa5QC8p1490Vw53aUNE5\\n0bQZ1d9Ui3OzTJ3yLvWVnHF+m18n9OacyF4HofUCgYBmEHV/0OQBT+51jYwv2KTl\\nX2+e/GeHgizbhVF9fmIpJtyPE3xFNuuzF/nbQydOfwZ5F7przgHbQebgy2SNIqXa\\nlgXFLLBwVldi7N2FS+mPfeZo07MKHUmdc1h1c3QEWI4iiG9sBW97+1JM2zUel+MV\\nuWBuEfJqnIADlp6Cg+J/wQKBgEA31Tftpff/qT/NH1F6RXP8wuXFnlLGRjgG/hL4\\n7TBsP1noU1+3h6kuqUAQXmv76QrTFCr3QEHoG+0M8ecY+SREzim/GQ7I45d2s7M8\\noo86WE/nz7rlru8fduM9uSuIIWkAqkrr/rR3hwYA93VKgBcvZ2hILtKYv90Rg2eE\\nBycpAoGATIoN4X89L8yQuKKpRLu6T0tsNWD6GVxFItMsgoKkGHARzh+PPDLU9Xlb\\nS0qsdZu2XPmJx9HIaMErM/IGp2KgBFq53FcBa1AQ32ZIe3goYVBVAD/j5TbNpYkg\\n54bb8kQXXPplzzaCmEn4wbjTKcfY52YJoJmq9wjM6SRHtlmV3BM=\\n-----END RSA PRIVATE KEY-----\n"}}}}}}}},"multipart/form-data":{"schema":{"type":"object","required":["cert"],"properties":{"cert":{"type":"string","format":"binary"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["certificate"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/certificates/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["publicKey","privateKey","salt","iv","owner","tenant","algorithm","key_length"],"properties":{"publicKey":{"type":"string","example":"-----BEGIN CERTIFICATE-----\\nMIIDBzCCAe+gAwIBAgIJAJUJjkTXpUpsMA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV\\nBAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xOTAxMjExNTI2MjlaFw0yOTAxMTgxNTI2\\nMjlaMBoxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB\\nBQADggEPADCCAQoCggEBAObwTSg+ONjsjJrKamhi3z/cf22eBfu/T1xU+4Dhr1IW\\nRBsthAMaGNuqMkUfQ6d+9rtEi5CXOmzjbtHRkIpkILeTNdb86KIbkaYR/wl4QsOm\\nCp5pfjZ3dDfdtoK4sKrrbo063eYpr9StPFN6oUY/crXTDIGXciEx7oJWvF9yoUc0\\nuLyQJ4i13fPWhzAN9vUyIvOShWCCoo8B3uOWQqwDt1oB1XQZmH9qeNELl+DlvL9a\\nh6voVTd99IlNEQfPz9fNspJarIlG9VNBC1/FJZ0oRUVWpaHJKZYEUoQdE1d/cnLR\\nLVtgrYjyLZX3xAzdp/SnvvSMV8fG0VN58lYW6VtXqlUCAwEAAaNQME4wHQYDVR0O\\nBBYEFFHME3mE223LXxe6xEpLozU2osIlMB8GA1UdIwQYMBaAFFHME3mE223LXxe6\\nxEpLozU2osIlMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBANwX5Jv/\\nNw9+Tme/FUey20kUMH26pVk7FAhKB8Zo2oM14+3TTSolrPrb56BuTfQyFGivzukR\\noU/Su7hLE0n+z0cPrPhmaI4t81lfvmtzYJ2Nb4cG88Em1mRqccKfoEvQsrMVPVX0\\n8WwIY3h+nqUoQsM5q/GcL6OG9uixB7uyWiuTpa9NVUm5RVFuiMserIIHtRdWUJPf\\nbGBWipOdCDGNuCGwoPVsZDFdjaxoyZV/oClFqS5prMQA6XOOGreg+Uei/iqLj0Kh\\nQ1IshPaxFYubSfRANsqgh7dKoBq8biSC0a6A0Bah7NsBv4htJsi1z5zYwFynS6Rg\\ndBg94fDKiidmYLc=\\n-----END CERTIFICATE-----\n"},"privateKey":{"type":"string","example":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEA5vBNKD442OyMmspqaGLfP9x/bZ4F+79PXFT7gOGvUhZEGy2E\\nAxoY26oyRR9Dp372u0SLkJc6bONu0dGQimQgt5M11vzoohuRphH/CXhCw6YKnml+\\nNnd0N922griwqutujTrd5imv1K08U3qhRj9ytdMMgZdyITHugla8X3KhRzS4vJAn\\niLXd89aHMA329TIi85KFYIKijwHe45ZCrAO3WgHVdBmYf2p40QuX4OW8v1qHq+hV\\nN330iU0RB8/P182yklqsiUb1U0ELX8UlnShFRValockplgRShB0TV39yctEtW2Ct\\niPItlffEDN2n9Ke+9IxXx8bRU3nyVhbpW1eqVQIDAQABAoIBADboX4/361A4Pd33\\nzoDvMSFf7bREZCvM+rN7SSkFf8fGn37OvZp3M/3WY4lnu5Axcbxoub4xFqUZFhow\\n92rQD69WAvEQxMb2QxT3Jmo7+7PE4LV1Y5rToABAaMp/2xFoVKqjmmrE8pdgcP1w\\nJLQtFbsBaPHO7kXSN2Ep+jO/b3UcMkIra4yjMO7Vk68w8ntpvXDEt4cg7P3BEbwj\\nRuXK3ynmNbeDta/7iWSuZfVM2cSRQOSiyeccFIkhdfXzVpcFrtLDTz5AD/RDgFkE\\nvCgxEESsXji3pkbPET23C+07zaexi6jfDHiRihQB1l7aS9pVds8yTEFOQy3KPevZ\\npFS2VQECgYEA+GJdgT+/EziFcS4VTpXmUIoAGVzSne6Wl9pAU4Aoh5rounj83qA0\\nuJscaoQo2qAELw6nYSM+2Pct+m6Wi0aybDdxcECx7SqQ2O6lY55rEkQBgkXjRU2C\\nqMMLvPZCuyl9Q1jJa497FG1EH2Jx+gBvKTQ1iIL2BhyU1CnsRqwbyuECgYEA7gUA\\nUKeuxfeBR9/Jxis+qh6eirTrIN+rp9FLoe+6pBXjMObp6D1+WGhG3acVSas7UAHW\\nrjDd0dl1Byoseh7BNmDsB0Hbiu4cUvaTwvcxxfw6o7gRaa5QC8p1490Vw53aUNE5\\n0bQZ1d9Ui3OzTJ3yLvWVnHF+m18n9OacyF4HofUCgYBmEHV/0OQBT+51jYwv2KTl\\nX2+e/GeHgizbhVF9fmIpJtyPE3xFNuuzF/nbQydOfwZ5F7przgHbQebgy2SNIqXa\\nlgXFLLBwVldi7N2FS+mPfeZo07MKHUmdc1h1c3QEWI4iiG9sBW97+1JM2zUel+MV\\nuWBuEfJqnIADlp6Cg+J/wQKBgEA31Tftpff/qT/NH1F6RXP8wuXFnlLGRjgG/hL4\\n7TBsP1noU1+3h6kuqUAQXmv76QrTFCr3QEHoG+0M8ecY+SREzim/GQ7I45d2s7M8\\noo86WE/nz7rlru8fduM9uSuIIWkAqkrr/rR3hwYA93VKgBcvZ2hILtKYv90Rg2eE\\nBycpAoGATIoN4X89L8yQuKKpRLu6T0tsNWD6GVxFItMsgoKkGHARzh+PPDLU9Xlb\\nS0qsdZu2XPmJx9HIaMErM/IGp2KgBFq53FcBa1AQ32ZIe3goYVBVAD/j5TbNpYkg\\n54bb8kQXXPplzzaCmEn4wbjTKcfY52YJoJmq9wjM6SRHtlmV3BM=\\n-----END RSA PRIVATE KEY-----\n"},"salt":{"type":"string","example":"3b07d847ba7580ea"},"iv":{"type":"string","example":"2df1049e2e6395eb"},"owner":{"type":"string","example":"5b4f337bff4304610483ba67"},"tenant":{"type":"string","example":"5b4f337bff4304610483ba67"},"algorithm":{"type":"string","example":"aes-256-cbc"},"key_length":{"type":"iteger","example":32}}},"relationships":{"type":"object","required":["user","tenant"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenant/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","required":["version","subject","issuer","serial","notBefore","notAfter","subjectHash","signatureAlgorithm","fingerPrint","publicKey","altNames","extensions"],"properties":{"subject":{"type":"object","properties":{"CN":{"type":"string","example":"www.example.com"}}},"issuer":{"type":"object","properties":{"CN":{"type":"string","example":"www.example.com"}}},"ca":{"type":"boolean","example":true},"modulus":{"type":"string","example":"E6F04D283E38D8EC8C9ACA6A6862DF3FDC7F6D9E05FBBF4F5C54FB80E1AF5216441B2D84031A18DBAA32451F43A77EF6BB448B90973A6CE36ED1D1908A6420B79335D6FCE8A21B91A611FF097842C3A60A9E697E36777437DDB682B8B0AAEB6E8D3ADDE629AFD4AD3C537AA1463F72B5D30C8197722131EE8256BC5F72A14734B8BC902788B5DDF3D687300DF6F53222F392856082A28F01DEE39642AC03B75A01D57419987F6A78D10B97E0E5BCBF5A87ABE855377DF4894D1107CFCFD7CDB2925AAC8946F553410B5FC5259D28454556A5A1C929960452841D13577F7272D12D5B60AD88F22D95F7C40CDDA7F4A7BEF48C57C7C6D15379F25616E95B57AA55"},"bits":{"type":"integer","example":2048},"exponent":{"type":"string","example":"0x10001"},"valid_from":{"type":"string","format":"date-time","example":"Jan 21 15:26:29 2019 GMT"},"valid_to":{"type":"string","format":"date-time","example":"Jan 18 15:26:29 2029 GMT"},"fingerprint":{"type":"string","example":"DC:F9:D7:FA:A3:ED:71:1D:7A:B1:68:D1:A9:6F:66:99:62:72:F3:6D"},"fingerprint256":{"type":"string","example":"60:38:E5:1A:CC:96:E4:F2:61:04:0F:B7:7D:47:28:12:44:70:4E:9B:45:0D:A5:F5:D3:75:E2:D3:59:11:F8:22"},"fingerprint512":{"type":"string","example":"4D:63:F3:D4:F2:89:CE:81:01:54:65:BB:19:11:6D:5E:C9:F6:43:1B:09:61:41:5B:AC:86:40:32:4F:7F:75:38:44:D6:11:E8:9E:88:A6:24:89:E5:91:30:02:06:31:56:E4:67:70:01:7C:D5:CF:07:DD:C7:9A:76:72:5B:8D:D8"},"serialNumber":{"type":"string","example":"95098E44D7A54A6C"}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/certificates/{certificate_id}":{"get":{"tags":["tenants"],"summary":"Returns the SSL certificate based on the specified Tenant Id and SSL certificate Id","description":"You need `tenants.certificate.get_encrypted` and/or `tenants.certificate.get_info` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"certificate_id","description":"Certificate identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["certificate"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/certificates/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["publicKey","privateKey","salt","iv","owner","tenant","algorithm","key_length"],"properties":{"publicKey":{"type":"string","example":"-----BEGIN CERTIFICATE-----\\nMIIDBzCCAe+gAwIBAgIJAJUJjkTXpUpsMA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV\\nBAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xOTAxMjExNTI2MjlaFw0yOTAxMTgxNTI2\\nMjlaMBoxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB\\nBQADggEPADCCAQoCggEBAObwTSg+ONjsjJrKamhi3z/cf22eBfu/T1xU+4Dhr1IW\\nRBsthAMaGNuqMkUfQ6d+9rtEi5CXOmzjbtHRkIpkILeTNdb86KIbkaYR/wl4QsOm\\nCp5pfjZ3dDfdtoK4sKrrbo063eYpr9StPFN6oUY/crXTDIGXciEx7oJWvF9yoUc0\\nuLyQJ4i13fPWhzAN9vUyIvOShWCCoo8B3uOWQqwDt1oB1XQZmH9qeNELl+DlvL9a\\nh6voVTd99IlNEQfPz9fNspJarIlG9VNBC1/FJZ0oRUVWpaHJKZYEUoQdE1d/cnLR\\nLVtgrYjyLZX3xAzdp/SnvvSMV8fG0VN58lYW6VtXqlUCAwEAAaNQME4wHQYDVR0O\\nBBYEFFHME3mE223LXxe6xEpLozU2osIlMB8GA1UdIwQYMBaAFFHME3mE223LXxe6\\nxEpLozU2osIlMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBANwX5Jv/\\nNw9+Tme/FUey20kUMH26pVk7FAhKB8Zo2oM14+3TTSolrPrb56BuTfQyFGivzukR\\noU/Su7hLE0n+z0cPrPhmaI4t81lfvmtzYJ2Nb4cG88Em1mRqccKfoEvQsrMVPVX0\\n8WwIY3h+nqUoQsM5q/GcL6OG9uixB7uyWiuTpa9NVUm5RVFuiMserIIHtRdWUJPf\\nbGBWipOdCDGNuCGwoPVsZDFdjaxoyZV/oClFqS5prMQA6XOOGreg+Uei/iqLj0Kh\\nQ1IshPaxFYubSfRANsqgh7dKoBq8biSC0a6A0Bah7NsBv4htJsi1z5zYwFynS6Rg\\ndBg94fDKiidmYLc=\\n-----END CERTIFICATE-----\n"},"privateKey":{"type":"string","example":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEA5vBNKD442OyMmspqaGLfP9x/bZ4F+79PXFT7gOGvUhZEGy2E\\nAxoY26oyRR9Dp372u0SLkJc6bONu0dGQimQgt5M11vzoohuRphH/CXhCw6YKnml+\\nNnd0N922griwqutujTrd5imv1K08U3qhRj9ytdMMgZdyITHugla8X3KhRzS4vJAn\\niLXd89aHMA329TIi85KFYIKijwHe45ZCrAO3WgHVdBmYf2p40QuX4OW8v1qHq+hV\\nN330iU0RB8/P182yklqsiUb1U0ELX8UlnShFRValockplgRShB0TV39yctEtW2Ct\\niPItlffEDN2n9Ke+9IxXx8bRU3nyVhbpW1eqVQIDAQABAoIBADboX4/361A4Pd33\\nzoDvMSFf7bREZCvM+rN7SSkFf8fGn37OvZp3M/3WY4lnu5Axcbxoub4xFqUZFhow\\n92rQD69WAvEQxMb2QxT3Jmo7+7PE4LV1Y5rToABAaMp/2xFoVKqjmmrE8pdgcP1w\\nJLQtFbsBaPHO7kXSN2Ep+jO/b3UcMkIra4yjMO7Vk68w8ntpvXDEt4cg7P3BEbwj\\nRuXK3ynmNbeDta/7iWSuZfVM2cSRQOSiyeccFIkhdfXzVpcFrtLDTz5AD/RDgFkE\\nvCgxEESsXji3pkbPET23C+07zaexi6jfDHiRihQB1l7aS9pVds8yTEFOQy3KPevZ\\npFS2VQECgYEA+GJdgT+/EziFcS4VTpXmUIoAGVzSne6Wl9pAU4Aoh5rounj83qA0\\nuJscaoQo2qAELw6nYSM+2Pct+m6Wi0aybDdxcECx7SqQ2O6lY55rEkQBgkXjRU2C\\nqMMLvPZCuyl9Q1jJa497FG1EH2Jx+gBvKTQ1iIL2BhyU1CnsRqwbyuECgYEA7gUA\\nUKeuxfeBR9/Jxis+qh6eirTrIN+rp9FLoe+6pBXjMObp6D1+WGhG3acVSas7UAHW\\nrjDd0dl1Byoseh7BNmDsB0Hbiu4cUvaTwvcxxfw6o7gRaa5QC8p1490Vw53aUNE5\\n0bQZ1d9Ui3OzTJ3yLvWVnHF+m18n9OacyF4HofUCgYBmEHV/0OQBT+51jYwv2KTl\\nX2+e/GeHgizbhVF9fmIpJtyPE3xFNuuzF/nbQydOfwZ5F7przgHbQebgy2SNIqXa\\nlgXFLLBwVldi7N2FS+mPfeZo07MKHUmdc1h1c3QEWI4iiG9sBW97+1JM2zUel+MV\\nuWBuEfJqnIADlp6Cg+J/wQKBgEA31Tftpff/qT/NH1F6RXP8wuXFnlLGRjgG/hL4\\n7TBsP1noU1+3h6kuqUAQXmv76QrTFCr3QEHoG+0M8ecY+SREzim/GQ7I45d2s7M8\\noo86WE/nz7rlru8fduM9uSuIIWkAqkrr/rR3hwYA93VKgBcvZ2hILtKYv90Rg2eE\\nBycpAoGATIoN4X89L8yQuKKpRLu6T0tsNWD6GVxFItMsgoKkGHARzh+PPDLU9Xlb\\nS0qsdZu2XPmJx9HIaMErM/IGp2KgBFq53FcBa1AQ32ZIe3goYVBVAD/j5TbNpYkg\\n54bb8kQXXPplzzaCmEn4wbjTKcfY52YJoJmq9wjM6SRHtlmV3BM=\\n-----END RSA PRIVATE KEY-----\n"},"salt":{"type":"string","example":"3b07d847ba7580ea"},"iv":{"type":"string","example":"2df1049e2e6395eb"},"owner":{"type":"string","example":"5b4f337bff4304610483ba67"},"tenant":{"type":"string","example":"5b4f337bff4304610483ba67"},"algorithm":{"type":"string","example":"aes-256-cbc"},"key_length":{"type":"iteger","example":32}}},"relationships":{"type":"object","required":["user","tenant"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenant/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","required":["version","subject","issuer","serial","notBefore","notAfter","subjectHash","signatureAlgorithm","fingerPrint","publicKey","altNames","extensions"],"properties":{"subject":{"type":"object","properties":{"CN":{"type":"string","example":"www.example.com"}}},"issuer":{"type":"object","properties":{"CN":{"type":"string","example":"www.example.com"}}},"ca":{"type":"boolean","example":true},"modulus":{"type":"string","example":"E6F04D283E38D8EC8C9ACA6A6862DF3FDC7F6D9E05FBBF4F5C54FB80E1AF5216441B2D84031A18DBAA32451F43A77EF6BB448B90973A6CE36ED1D1908A6420B79335D6FCE8A21B91A611FF097842C3A60A9E697E36777437DDB682B8B0AAEB6E8D3ADDE629AFD4AD3C537AA1463F72B5D30C8197722131EE8256BC5F72A14734B8BC902788B5DDF3D687300DF6F53222F392856082A28F01DEE39642AC03B75A01D57419987F6A78D10B97E0E5BCBF5A87ABE855377DF4894D1107CFCFD7CDB2925AAC8946F553410B5FC5259D28454556A5A1C929960452841D13577F7272D12D5B60AD88F22D95F7C40CDDA7F4A7BEF48C57C7C6D15379F25616E95B57AA55"},"bits":{"type":"integer","example":2048},"exponent":{"type":"string","example":"0x10001"},"valid_from":{"type":"string","format":"date-time","example":"Jan 21 15:26:29 2019 GMT"},"valid_to":{"type":"string","format":"date-time","example":"Jan 18 15:26:29 2029 GMT"},"fingerprint":{"type":"string","example":"DC:F9:D7:FA:A3:ED:71:1D:7A:B1:68:D1:A9:6F:66:99:62:72:F3:6D"},"fingerprint256":{"type":"string","example":"60:38:E5:1A:CC:96:E4:F2:61:04:0F:B7:7D:47:28:12:44:70:4E:9B:45:0D:A5:F5:D3:75:E2:D3:59:11:F8:22"},"fingerprint512":{"type":"string","example":"4D:63:F3:D4:F2:89:CE:81:01:54:65:BB:19:11:6D:5E:C9:F6:43:1B:09:61:41:5B:AC:86:40:32:4F:7F:75:38:44:D6:11:E8:9E:88:A6:24:89:E5:91:30:02:06:31:56:E4:67:70:01:7C:D5:CF:07:DD:C7:9A:76:72:5B:8D:D8"},"serialNumber":{"type":"string","example":"95098E44D7A54A6C"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["tenants"],"summary":"Update a SSL certificate with the specified Tenant Id and SSL certificate Id","description":"You need `tenants.certificate.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"certificate_id","description":"Certificate identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["attributes"],"properties":{"attributes":{"type":"object","required":["publicKey","privateKey"],"properties":{"publicKey":{"type":"string","description":"CERTIFICATE","example":"-----BEGIN CERTIFICATE-----\\nMIIDBzCCAe+gAwIBAgIJAJUJjkTXpUpsMA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV\\nBAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xOTAxMjExNTI2MjlaFw0yOTAxMTgxNTI2\\nMjlaMBoxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB\\nBQADggEPADCCAQoCggEBAObwTSg+ONjsjJrKamhi3z/cf22eBfu/T1xU+4Dhr1IW\\nRBsthAMaGNuqMkUfQ6d+9rtEi5CXOmzjbtHRkIpkILeTNdb86KIbkaYR/wl4QsOm\\nCp5pfjZ3dDfdtoK4sKrrbo063eYpr9StPFN6oUY/crXTDIGXciEx7oJWvF9yoUc0\\nuLyQJ4i13fPWhzAN9vUyIvOShWCCoo8B3uOWQqwDt1oB1XQZmH9qeNELl+DlvL9a\\nh6voVTd99IlNEQfPz9fNspJarIlG9VNBC1/FJZ0oRUVWpaHJKZYEUoQdE1d/cnLR\\nLVtgrYjyLZX3xAzdp/SnvvSMV8fG0VN58lYW6VtXqlUCAwEAAaNQME4wHQYDVR0O\\nBBYEFFHME3mE223LXxe6xEpLozU2osIlMB8GA1UdIwQYMBaAFFHME3mE223LXxe6\\nxEpLozU2osIlMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBANwX5Jv/\\nNw9+Tme/FUey20kUMH26pVk7FAhKB8Zo2oM14+3TTSolrPrb56BuTfQyFGivzukR\\noU/Su7hLE0n+z0cPrPhmaI4t81lfvmtzYJ2Nb4cG88Em1mRqccKfoEvQsrMVPVX0\\n8WwIY3h+nqUoQsM5q/GcL6OG9uixB7uyWiuTpa9NVUm5RVFuiMserIIHtRdWUJPf\\nbGBWipOdCDGNuCGwoPVsZDFdjaxoyZV/oClFqS5prMQA6XOOGreg+Uei/iqLj0Kh\\nQ1IshPaxFYubSfRANsqgh7dKoBq8biSC0a6A0Bah7NsBv4htJsi1z5zYwFynS6Rg\\ndBg94fDKiidmYLc=\\n-----END CERTIFICATE-----\n"},"privateKey":{"type":"string","description":"RSA PRIVATE KEY","example":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEA5vBNKD442OyMmspqaGLfP9x/bZ4F+79PXFT7gOGvUhZEGy2E\\nAxoY26oyRR9Dp372u0SLkJc6bONu0dGQimQgt5M11vzoohuRphH/CXhCw6YKnml+\\nNnd0N922griwqutujTrd5imv1K08U3qhRj9ytdMMgZdyITHugla8X3KhRzS4vJAn\\niLXd89aHMA329TIi85KFYIKijwHe45ZCrAO3WgHVdBmYf2p40QuX4OW8v1qHq+hV\\nN330iU0RB8/P182yklqsiUb1U0ELX8UlnShFRValockplgRShB0TV39yctEtW2Ct\\niPItlffEDN2n9Ke+9IxXx8bRU3nyVhbpW1eqVQIDAQABAoIBADboX4/361A4Pd33\\nzoDvMSFf7bREZCvM+rN7SSkFf8fGn37OvZp3M/3WY4lnu5Axcbxoub4xFqUZFhow\\n92rQD69WAvEQxMb2QxT3Jmo7+7PE4LV1Y5rToABAaMp/2xFoVKqjmmrE8pdgcP1w\\nJLQtFbsBaPHO7kXSN2Ep+jO/b3UcMkIra4yjMO7Vk68w8ntpvXDEt4cg7P3BEbwj\\nRuXK3ynmNbeDta/7iWSuZfVM2cSRQOSiyeccFIkhdfXzVpcFrtLDTz5AD/RDgFkE\\nvCgxEESsXji3pkbPET23C+07zaexi6jfDHiRihQB1l7aS9pVds8yTEFOQy3KPevZ\\npFS2VQECgYEA+GJdgT+/EziFcS4VTpXmUIoAGVzSne6Wl9pAU4Aoh5rounj83qA0\\nuJscaoQo2qAELw6nYSM+2Pct+m6Wi0aybDdxcECx7SqQ2O6lY55rEkQBgkXjRU2C\\nqMMLvPZCuyl9Q1jJa497FG1EH2Jx+gBvKTQ1iIL2BhyU1CnsRqwbyuECgYEA7gUA\\nUKeuxfeBR9/Jxis+qh6eirTrIN+rp9FLoe+6pBXjMObp6D1+WGhG3acVSas7UAHW\\nrjDd0dl1Byoseh7BNmDsB0Hbiu4cUvaTwvcxxfw6o7gRaa5QC8p1490Vw53aUNE5\\n0bQZ1d9Ui3OzTJ3yLvWVnHF+m18n9OacyF4HofUCgYBmEHV/0OQBT+51jYwv2KTl\\nX2+e/GeHgizbhVF9fmIpJtyPE3xFNuuzF/nbQydOfwZ5F7przgHbQebgy2SNIqXa\\nlgXFLLBwVldi7N2FS+mPfeZo07MKHUmdc1h1c3QEWI4iiG9sBW97+1JM2zUel+MV\\nuWBuEfJqnIADlp6Cg+J/wQKBgEA31Tftpff/qT/NH1F6RXP8wuXFnlLGRjgG/hL4\\n7TBsP1noU1+3h6kuqUAQXmv76QrTFCr3QEHoG+0M8ecY+SREzim/GQ7I45d2s7M8\\noo86WE/nz7rlru8fduM9uSuIIWkAqkrr/rR3hwYA93VKgBcvZ2hILtKYv90Rg2eE\\nBycpAoGATIoN4X89L8yQuKKpRLu6T0tsNWD6GVxFItMsgoKkGHARzh+PPDLU9Xlb\\nS0qsdZu2XPmJx9HIaMErM/IGp2KgBFq53FcBa1AQ32ZIe3goYVBVAD/j5TbNpYkg\\n54bb8kQXXPplzzaCmEn4wbjTKcfY52YJoJmq9wjM6SRHtlmV3BM=\\n-----END RSA PRIVATE KEY-----\n"}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["certificate"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67/certificates/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["publicKey","privateKey","salt","iv","owner","tenant","algorithm","key_length"],"properties":{"publicKey":{"type":"string","example":"-----BEGIN CERTIFICATE-----\\nMIIDBzCCAe+gAwIBAgIJAJUJjkTXpUpsMA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV\\nBAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xOTAxMjExNTI2MjlaFw0yOTAxMTgxNTI2\\nMjlaMBoxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB\\nBQADggEPADCCAQoCggEBAObwTSg+ONjsjJrKamhi3z/cf22eBfu/T1xU+4Dhr1IW\\nRBsthAMaGNuqMkUfQ6d+9rtEi5CXOmzjbtHRkIpkILeTNdb86KIbkaYR/wl4QsOm\\nCp5pfjZ3dDfdtoK4sKrrbo063eYpr9StPFN6oUY/crXTDIGXciEx7oJWvF9yoUc0\\nuLyQJ4i13fPWhzAN9vUyIvOShWCCoo8B3uOWQqwDt1oB1XQZmH9qeNELl+DlvL9a\\nh6voVTd99IlNEQfPz9fNspJarIlG9VNBC1/FJZ0oRUVWpaHJKZYEUoQdE1d/cnLR\\nLVtgrYjyLZX3xAzdp/SnvvSMV8fG0VN58lYW6VtXqlUCAwEAAaNQME4wHQYDVR0O\\nBBYEFFHME3mE223LXxe6xEpLozU2osIlMB8GA1UdIwQYMBaAFFHME3mE223LXxe6\\nxEpLozU2osIlMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBANwX5Jv/\\nNw9+Tme/FUey20kUMH26pVk7FAhKB8Zo2oM14+3TTSolrPrb56BuTfQyFGivzukR\\noU/Su7hLE0n+z0cPrPhmaI4t81lfvmtzYJ2Nb4cG88Em1mRqccKfoEvQsrMVPVX0\\n8WwIY3h+nqUoQsM5q/GcL6OG9uixB7uyWiuTpa9NVUm5RVFuiMserIIHtRdWUJPf\\nbGBWipOdCDGNuCGwoPVsZDFdjaxoyZV/oClFqS5prMQA6XOOGreg+Uei/iqLj0Kh\\nQ1IshPaxFYubSfRANsqgh7dKoBq8biSC0a6A0Bah7NsBv4htJsi1z5zYwFynS6Rg\\ndBg94fDKiidmYLc=\\n-----END CERTIFICATE-----\n"},"privateKey":{"type":"string","example":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEA5vBNKD442OyMmspqaGLfP9x/bZ4F+79PXFT7gOGvUhZEGy2E\\nAxoY26oyRR9Dp372u0SLkJc6bONu0dGQimQgt5M11vzoohuRphH/CXhCw6YKnml+\\nNnd0N922griwqutujTrd5imv1K08U3qhRj9ytdMMgZdyITHugla8X3KhRzS4vJAn\\niLXd89aHMA329TIi85KFYIKijwHe45ZCrAO3WgHVdBmYf2p40QuX4OW8v1qHq+hV\\nN330iU0RB8/P182yklqsiUb1U0ELX8UlnShFRValockplgRShB0TV39yctEtW2Ct\\niPItlffEDN2n9Ke+9IxXx8bRU3nyVhbpW1eqVQIDAQABAoIBADboX4/361A4Pd33\\nzoDvMSFf7bREZCvM+rN7SSkFf8fGn37OvZp3M/3WY4lnu5Axcbxoub4xFqUZFhow\\n92rQD69WAvEQxMb2QxT3Jmo7+7PE4LV1Y5rToABAaMp/2xFoVKqjmmrE8pdgcP1w\\nJLQtFbsBaPHO7kXSN2Ep+jO/b3UcMkIra4yjMO7Vk68w8ntpvXDEt4cg7P3BEbwj\\nRuXK3ynmNbeDta/7iWSuZfVM2cSRQOSiyeccFIkhdfXzVpcFrtLDTz5AD/RDgFkE\\nvCgxEESsXji3pkbPET23C+07zaexi6jfDHiRihQB1l7aS9pVds8yTEFOQy3KPevZ\\npFS2VQECgYEA+GJdgT+/EziFcS4VTpXmUIoAGVzSne6Wl9pAU4Aoh5rounj83qA0\\nuJscaoQo2qAELw6nYSM+2Pct+m6Wi0aybDdxcECx7SqQ2O6lY55rEkQBgkXjRU2C\\nqMMLvPZCuyl9Q1jJa497FG1EH2Jx+gBvKTQ1iIL2BhyU1CnsRqwbyuECgYEA7gUA\\nUKeuxfeBR9/Jxis+qh6eirTrIN+rp9FLoe+6pBXjMObp6D1+WGhG3acVSas7UAHW\\nrjDd0dl1Byoseh7BNmDsB0Hbiu4cUvaTwvcxxfw6o7gRaa5QC8p1490Vw53aUNE5\\n0bQZ1d9Ui3OzTJ3yLvWVnHF+m18n9OacyF4HofUCgYBmEHV/0OQBT+51jYwv2KTl\\nX2+e/GeHgizbhVF9fmIpJtyPE3xFNuuzF/nbQydOfwZ5F7przgHbQebgy2SNIqXa\\nlgXFLLBwVldi7N2FS+mPfeZo07MKHUmdc1h1c3QEWI4iiG9sBW97+1JM2zUel+MV\\nuWBuEfJqnIADlp6Cg+J/wQKBgEA31Tftpff/qT/NH1F6RXP8wuXFnlLGRjgG/hL4\\n7TBsP1noU1+3h6kuqUAQXmv76QrTFCr3QEHoG+0M8ecY+SREzim/GQ7I45d2s7M8\\noo86WE/nz7rlru8fduM9uSuIIWkAqkrr/rR3hwYA93VKgBcvZ2hILtKYv90Rg2eE\\nBycpAoGATIoN4X89L8yQuKKpRLu6T0tsNWD6GVxFItMsgoKkGHARzh+PPDLU9Xlb\\nS0qsdZu2XPmJx9HIaMErM/IGp2KgBFq53FcBa1AQ32ZIe3goYVBVAD/j5TbNpYkg\\n54bb8kQXXPplzzaCmEn4wbjTKcfY52YJoJmq9wjM6SRHtlmV3BM=\\n-----END RSA PRIVATE KEY-----\n"},"salt":{"type":"string","example":"3b07d847ba7580ea"},"iv":{"type":"string","example":"2df1049e2e6395eb"},"owner":{"type":"string","example":"5b4f337bff4304610483ba67"},"tenant":{"type":"string","example":"5b4f337bff4304610483ba67"},"algorithm":{"type":"string","example":"aes-256-cbc"},"key_length":{"type":"iteger","example":32}}},"relationships":{"type":"object","required":["user","tenant"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenant/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","required":["version","subject","issuer","serial","notBefore","notAfter","subjectHash","signatureAlgorithm","fingerPrint","publicKey","altNames","extensions"],"properties":{"subject":{"type":"object","properties":{"CN":{"type":"string","example":"www.example.com"}}},"issuer":{"type":"object","properties":{"CN":{"type":"string","example":"www.example.com"}}},"ca":{"type":"boolean","example":true},"modulus":{"type":"string","example":"E6F04D283E38D8EC8C9ACA6A6862DF3FDC7F6D9E05FBBF4F5C54FB80E1AF5216441B2D84031A18DBAA32451F43A77EF6BB448B90973A6CE36ED1D1908A6420B79335D6FCE8A21B91A611FF097842C3A60A9E697E36777437DDB682B8B0AAEB6E8D3ADDE629AFD4AD3C537AA1463F72B5D30C8197722131EE8256BC5F72A14734B8BC902788B5DDF3D687300DF6F53222F392856082A28F01DEE39642AC03B75A01D57419987F6A78D10B97E0E5BCBF5A87ABE855377DF4894D1107CFCFD7CDB2925AAC8946F553410B5FC5259D28454556A5A1C929960452841D13577F7272D12D5B60AD88F22D95F7C40CDDA7F4A7BEF48C57C7C6D15379F25616E95B57AA55"},"bits":{"type":"integer","example":2048},"exponent":{"type":"string","example":"0x10001"},"valid_from":{"type":"string","format":"date-time","example":"Jan 21 15:26:29 2019 GMT"},"valid_to":{"type":"string","format":"date-time","example":"Jan 18 15:26:29 2029 GMT"},"fingerprint":{"type":"string","example":"DC:F9:D7:FA:A3:ED:71:1D:7A:B1:68:D1:A9:6F:66:99:62:72:F3:6D"},"fingerprint256":{"type":"string","example":"60:38:E5:1A:CC:96:E4:F2:61:04:0F:B7:7D:47:28:12:44:70:4E:9B:45:0D:A5:F5:D3:75:E2:D3:59:11:F8:22"},"fingerprint512":{"type":"string","example":"4D:63:F3:D4:F2:89:CE:81:01:54:65:BB:19:11:6D:5E:C9:F6:43:1B:09:61:41:5B:AC:86:40:32:4F:7F:75:38:44:D6:11:E8:9E:88:A6:24:89:E5:91:30:02:06:31:56:E4:67:70:01:7C:D5:CF:07:DD:C7:9A:76:72:5B:8D:D8"},"serialNumber":{"type":"string","example":"95098E44D7A54A6C"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["tenants"],"summary":"Remove an SSL certificate with the specified Tenant Id and SSL certificate Id","description":"You need `tenants.certificate.delete` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"certificate_id","description":"Certificate identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/members/{user_id}":{"patch":{"tags":["tenants"],"summary":"Grant/Revoke any available in the tenant scope role to/from the User with the specified Tenant Id and User Id","description":"You need `tenants.membership.edit` permission to access this resource\n\n`data.attributes.roles` should be a array of roles are needed to be granted for User\n\n`data.attributes.roles` should be an empty array to revoke all roles from the User\n","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["tenant-member"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"type":"string","example":["tenant-admin"]}}}}}}}},{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["tenant-member"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"enum":[[]]}}}}}}}}]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant-member"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"type":"string","example":["tenant-admin"]}}}},"relationships":{"type":"object","required":["user","tenant"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenant/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}},{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant-member"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"enum":[[]]}}}},"relationships":{"type":"object","required":["user","tenant"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}},"tenant":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenant/5b4f337bff4304610483ba67"}}}}}}}}},"meta":{"type":"object","example":"{}"}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/oauth-clients":{"get":{"tags":["tenants"],"summary":"Lists an Oauth-clients with specified Tenant Id","description":"You need `tenants.oauth_clients.get` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"filter[component]","description":"Filter by Component Id","schema":{"type":"array","items":{"type":"string","example":"component_id"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["oauth-client"]},"attributes":{"type":"object","required":["client_id","client_secret"],"properties":{"client_id":{"type":"string","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","example":"9706536923706843944"}}},"relationships":{"type":"object","required":["component","links"],"properties":{"component":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["tenants"],"summary":"Create an Oauth-client with specified Tenant Id","description":"You need `tenants.oauth_clients.create` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"type":"string","enum":["oauth-client"]},"attributes":{"type":"object","required":["client_id","client_secret"],"properties":{"client_id":{"type":"string","description":"Oauth-client ID","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","description":"Oauth-client secret","example":"9706536923706843944"}}},"relationships":{"type":"object","required":["component"],"properties":{"component":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["oauth-client"]},"attributes":{"type":"object","required":["client_id","client_secret"],"properties":{"client_id":{"type":"string","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","example":"9706536923706843944"}}},"relationships":{"type":"object","required":["component","links"],"properties":{"component":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/oauth-clients/{oauth-client_id}":{"get":{"tags":["tenants"],"summary":"Returns an Oauth-client based on the specified Tenant Id and Oauth-client Id","description":"You need `tenants.oauth_clients.get` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"oauth-client_id","description":"Oauth-client identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["oauth-client"]},"attributes":{"type":"object","required":["client_id","client_secret"],"properties":{"client_id":{"type":"string","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","example":"9706536923706843944"}}},"relationships":{"type":"object","required":["component","links"],"properties":{"component":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["tenants"],"summary":"Update an Oauth-client with specified Tenant Id and Oauth-client Id","description":"You need `tenants.oauth_clients.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"oauth-client_id","description":"Oauth-client identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"type":"string","enum":["oauth-client"]},"attributes":{"type":"object","required":["client_id","client_secret"],"properties":{"client_id":{"type":"string","description":"Oauth-client ID","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","description":"Oauth-client secret","example":"9706536923706843944"}}},"relationships":{"type":"object","required":["component"],"properties":{"component":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"Component ID","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["oauth-client"]},"attributes":{"type":"object","required":["client_id","client_secret"],"properties":{"client_id":{"type":"string","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","example":"9706536923706843944"}}},"relationships":{"type":"object","required":["component","links"],"properties":{"component":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["component"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/components/5b4f337bff4304610483ba67"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["tenants"],"summary":"Remove an Oauth-client with specified Tenant Id and Oauth-client Id","description":"You need `tenants.oauth_clients.delete` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"oauth-client_id","description":"Oauth-client identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/openid/providers":{"get":{"tags":["tenants"],"summary":"List an OpenID Providers based on the specified Tenant Id","description":"You need `tenants.tenant.get` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["openid-provider"]},"attributes":{"type":"object","required":["client_id","client_secret","issuer","response_type","config"],"properties":{"client_id":{"type":"string","description":"OpenID Provider client ID","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","description":"OpenID Provider client secret","example":"9706536923706843944"},"issuer":{"type":"string","description":"OpenID Provider issuer","example":"https://issuer.com"},"response_type":{"type":"string","enum":["code"]},"config":{"type":"object","required":["auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","example":true},"auto_create_users":{"type":"boolean","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["tenants"],"summary":"Create an OpenID Provider with specified Tenant Id","description":"You need `tenants.tenant.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["openid-provider"]},"attributes":{"type":"object","required":["client_id","client_secret","issuer","response_type","config"],"properties":{"client_id":{"type":"string","description":"OpenID Provider client ID","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","description":"OpenID Provider client secret","example":"9706536923706843944"},"issuer":{"type":"string","description":"OpenID Provider issuer","example":"https://issuer.com"},"response_type":{"type":"string","enum":["code"]},"config":{"type":"object","required":["auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","example":true},"auto_create_users":{"type":"boolean","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["openid-provider"]},"attributes":{"type":"object","required":["client_id","client_secret","issuer","response_type","config"],"properties":{"client_id":{"type":"string","description":"OpenID Provider client ID","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","description":"OpenID Provider client secret","example":"9706536923706843944"},"issuer":{"type":"string","description":"OpenID Provider issuer","example":"https://issuer.com"},"response_type":{"type":"string","enum":["code"]},"config":{"type":"object","required":["auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","example":true},"auto_create_users":{"type":"boolean","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/openid/providers/{open_id_provider_id}":{"get":{"tags":["tenants"],"summary":"Returns an OpenID Provider based on specified Tenant Id and OpenID Provider Id","description":"You need `tenants.tenant.get` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"open_id_provider_id","description":"OpenID Provider identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["openid-provider"]},"attributes":{"type":"object","required":["client_id","client_secret","issuer","response_type","config"],"properties":{"client_id":{"type":"string","description":"OpenID Provider client ID","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","description":"OpenID Provider client secret","example":"9706536923706843944"},"issuer":{"type":"string","description":"OpenID Provider issuer","example":"https://issuer.com"},"response_type":{"type":"string","enum":["code"]},"config":{"type":"object","required":["auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","example":true},"auto_create_users":{"type":"boolean","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["tenants"],"summary":"Update an OpenID Provider based on specified Tenant Id and OpenID Provider Id","description":"You need `tenants.tenant.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"open_id_provider_id","description":"OpenID Provider identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["openid-provider"]},"attributes":{"type":"object","required":["client_id","client_secret","issuer","response_type","config"],"properties":{"client_id":{"type":"string","description":"OpenID Provider client ID","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","description":"OpenID Provider client secret","example":"9706536923706843944"},"issuer":{"type":"string","description":"OpenID Provider issuer","example":"https://issuer.com"},"response_type":{"type":"string","enum":["code"]},"config":{"type":"object","required":["auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","example":true},"auto_create_users":{"type":"boolean","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["openid-provider"]},"attributes":{"type":"object","required":["client_id","client_secret","issuer","response_type","config"],"properties":{"client_id":{"type":"string","description":"OpenID Provider client ID","example":"4MVG1y6x0765HlefbXXkBfrJ4txm0m5Sb6NZlVBFmNfzNQWy7raJ0_nKanW4SgaOj7EJMII_HLPs4mbB0JxE4"},"client_secret":{"type":"string","description":"OpenID Provider client secret","example":"9706536923706843944"},"issuer":{"type":"string","description":"OpenID Provider issuer","example":"https://issuer.com"},"response_type":{"type":"string","enum":["code"]},"config":{"type":"object","required":["auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","example":true},"auto_create_users":{"type":"boolean","example":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["tenants"],"summary":"Remove an OpenID Provider based on specified Tenant Id and OpenID Provider Id","description":"You need `tenants.tenant.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"open_id_provider_id","description":"OpenID Provider identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/saml/providers":{"get":{"tags":["tenants"],"summary":"Lists the SAML 2.0 Providers based on specified Tenant Id","description":"You need `tenants.tenant.get` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["saml-provider"]},"attributes":{"type":"object","required":["entity_id","login_endpoint","logout_endpoint","assert_endpoint","idp_certificates","name_id_format","private_key","certificate","force_auth","allow_unencrypted_assertion","config"],"properties":{"entity_id":{"type":"string","description":"Provider entityId. A value should be a valid URI","example":"5b4f337bff4304610483ba67"},"login_endpoint":{"type":"string","description":"Provider login endpoint. A value should be a valid URI","example":"https://example.com"},"logout_endpoint":{"type":"string","description":"Provider logout endpoint. A value should be a valid URI","example":"https://example.com"},"assert_endpoint":{"type":"string","description":"URL of service provider assert endpoint. A value should be a valid URI","example":"https://example.com"},"idp_certificates":{"type":"array","description":"An array of Identity Provider certificates","items":{"type":"string","example":"identity_provider_certificate"}},"name_id_format":{"type":"string","description":"Format for Name ID","enum":["urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified","urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","urn:oasis:names:tc:SAML:2.0:nameid-format:transient","undefined"]},"private_key":{"type":"string","description":"Private key for the service provider","example":"private_key"},"certificate":{"type":"string","description":"Certificate for the service provider","example":"certificate"},"force_auth":{"type":"boolean","description":"Forces re-authentication of users even if the user has a SSO session with the Identity Provider","default":false},"allow_unencrypted_assertion":{"type":"boolean","description":"Allows unencrypted assertions","default":true},"config":{"type":"object","required":["email_attribute","auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","default":false},"email_attribute":{"type":"string","description":"Name of the attribute that contains a user email address","example":"name_id"},"auto_create_users":{"type":"boolean","description":"Creates user if not registered","default":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["tenants"],"summary":"Creates a SAML 2.0 Provider with specified Tenant Id","description":"You need `tenants.tenant.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["saml-provider"]},"attributes":{"type":"object","required":["entity_id","login_endpoint","logout_endpoint","assert_endpoint","idp_certificates","name_id_format","private_key","certificate","force_auth","allow_unencrypted_assertion","config"],"properties":{"entity_id":{"type":"string","description":"Provider entityId. A value should be a valid URI","example":"5b4f337bff4304610483ba67"},"login_endpoint":{"type":"string","description":"Provider login endpoint. A value should be a valid URI","example":"https://example.com"},"logout_endpoint":{"type":"string","description":"Provider logout endpoint. A value should be a valid URI","example":"https://example.com"},"assert_endpoint":{"type":"string","description":"URL of service provider assert endpoint. A value should be a valid URI","example":"https://example.com"},"idp_certificates":{"type":"array","description":"An array of Identity Provider certificates","items":{"type":"string","example":"identity_provider_certificate"}},"name_id_format":{"type":"string","description":"Format for Name ID","enum":["urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified","urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","urn:oasis:names:tc:SAML:2.0:nameid-format:transient","undefined"]},"private_key":{"type":"string","description":"Private key for the service provider","example":"private_key"},"certificate":{"type":"string","description":"Certificate for the service provider","example":"certificate"},"force_auth":{"type":"boolean","description":"Forces re-authentication of users even if the user has a SSO session with the Identity Provider","default":false},"allow_unencrypted_assertion":{"type":"boolean","description":"Allows unencrypted assertions","default":true},"config":{"type":"object","required":["email_attribute","auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","default":false},"email_attribute":{"type":"string","description":"Name of the attribute that contains a user email address","example":"name_id"},"auto_create_users":{"type":"boolean","description":"Creates user if not registered","default":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["saml-provider"]},"attributes":{"type":"object","required":["entity_id","login_endpoint","logout_endpoint","assert_endpoint","idp_certificates","name_id_format","private_key","certificate","force_auth","allow_unencrypted_assertion","config"],"properties":{"entity_id":{"type":"string","description":"Provider entityId. A value should be a valid URI","example":"5b4f337bff4304610483ba67"},"login_endpoint":{"type":"string","description":"Provider login endpoint. A value should be a valid URI","example":"https://example.com"},"logout_endpoint":{"type":"string","description":"Provider logout endpoint. A value should be a valid URI","example":"https://example.com"},"assert_endpoint":{"type":"string","description":"URL of service provider assert endpoint. A value should be a valid URI","example":"https://example.com"},"idp_certificates":{"type":"array","description":"An array of Identity Provider certificates","items":{"type":"string","example":"identity_provider_certificate"}},"name_id_format":{"type":"string","description":"Format for Name ID","enum":["urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified","urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","urn:oasis:names:tc:SAML:2.0:nameid-format:transient","undefined"]},"private_key":{"type":"string","description":"Private key for the service provider","example":"private_key"},"certificate":{"type":"string","description":"Certificate for the service provider","example":"certificate"},"force_auth":{"type":"boolean","description":"Forces re-authentication of users even if the user has a SSO session with the Identity Provider","default":false},"allow_unencrypted_assertion":{"type":"boolean","description":"Allows unencrypted assertions","default":true},"config":{"type":"object","required":["email_attribute","auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","default":false},"email_attribute":{"type":"string","description":"Name of the attribute that contains a user email address","example":"name_id"},"auto_create_users":{"type":"boolean","description":"Creates user if not registered","default":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":400},"title":{"type":"string","example":"Bad argument error"},"detail":{"type":"string","example":"The request cannot be fulfilled due to bad syntax."}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/saml/providers/{saml_provider_id}":{"get":{"tags":["tenants"],"summary":"Returns a SAML 2.0 Provider based on the specified SAML 2.0. Id and Tenant Id","description":"You need `tenants.tenant.get` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"saml_provider_id","description":"SAML Provider identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["saml-provider"]},"attributes":{"type":"object","required":["entity_id","login_endpoint","logout_endpoint","assert_endpoint","idp_certificates","name_id_format","private_key","certificate","force_auth","allow_unencrypted_assertion","config"],"properties":{"entity_id":{"type":"string","description":"Provider entityId. A value should be a valid URI","example":"5b4f337bff4304610483ba67"},"login_endpoint":{"type":"string","description":"Provider login endpoint. A value should be a valid URI","example":"https://example.com"},"logout_endpoint":{"type":"string","description":"Provider logout endpoint. A value should be a valid URI","example":"https://example.com"},"assert_endpoint":{"type":"string","description":"URL of service provider assert endpoint. A value should be a valid URI","example":"https://example.com"},"idp_certificates":{"type":"array","description":"An array of Identity Provider certificates","items":{"type":"string","example":"identity_provider_certificate"}},"name_id_format":{"type":"string","description":"Format for Name ID","enum":["urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified","urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","urn:oasis:names:tc:SAML:2.0:nameid-format:transient","undefined"]},"private_key":{"type":"string","description":"Private key for the service provider","example":"private_key"},"certificate":{"type":"string","description":"Certificate for the service provider","example":"certificate"},"force_auth":{"type":"boolean","description":"Forces re-authentication of users even if the user has a SSO session with the Identity Provider","default":false},"allow_unencrypted_assertion":{"type":"boolean","description":"Allows unencrypted assertions","default":true},"config":{"type":"object","required":["email_attribute","auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","default":false},"email_attribute":{"type":"string","description":"Name of the attribute that contains a user email address","example":"name_id"},"auto_create_users":{"type":"boolean","description":"Creates user if not registered","default":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["tenants"],"summary":"Update a SAML 2.0 Provider based on the specified SAML 2.0. Id and Tenant Id","description":"You need `tenants.tenant.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"saml_provider_id","description":"SAML Provider identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["saml-provider"]},"attributes":{"type":"object","required":["entity_id","login_endpoint","logout_endpoint","assert_endpoint","idp_certificates","name_id_format","private_key","certificate","force_auth","allow_unencrypted_assertion","config"],"properties":{"entity_id":{"type":"string","description":"Provider entityId. A value should be a valid URI","example":"5b4f337bff4304610483ba67"},"login_endpoint":{"type":"string","description":"Provider login endpoint. A value should be a valid URI","example":"https://example.com"},"logout_endpoint":{"type":"string","description":"Provider logout endpoint. A value should be a valid URI","example":"https://example.com"},"assert_endpoint":{"type":"string","description":"URL of service provider assert endpoint. A value should be a valid URI","example":"https://example.com"},"idp_certificates":{"type":"array","description":"An array of Identity Provider certificates","items":{"type":"string","example":"identity_provider_certificate"}},"name_id_format":{"type":"string","description":"Format for Name ID","enum":["urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified","urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","urn:oasis:names:tc:SAML:2.0:nameid-format:transient","undefined"]},"private_key":{"type":"string","description":"Private key for the service provider","example":"private_key"},"certificate":{"type":"string","description":"Certificate for the service provider","example":"certificate"},"force_auth":{"type":"boolean","description":"Forces re-authentication of users even if the user has a SSO session with the Identity Provider","default":false},"allow_unencrypted_assertion":{"type":"boolean","description":"Allows unencrypted assertions","default":true},"config":{"type":"object","required":["email_attribute","auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","default":false},"email_attribute":{"type":"string","description":"Name of the attribute that contains a user email address","example":"name_id"},"auto_create_users":{"type":"boolean","description":"Creates user if not registered","default":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes","relationships"],"properties":{"id":{"type":"string","readOnly":true,"example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["saml-provider"]},"attributes":{"type":"object","required":["entity_id","login_endpoint","logout_endpoint","assert_endpoint","idp_certificates","name_id_format","private_key","certificate","force_auth","allow_unencrypted_assertion","config"],"properties":{"entity_id":{"type":"string","description":"Provider entityId. A value should be a valid URI","example":"5b4f337bff4304610483ba67"},"login_endpoint":{"type":"string","description":"Provider login endpoint. A value should be a valid URI","example":"https://example.com"},"logout_endpoint":{"type":"string","description":"Provider logout endpoint. A value should be a valid URI","example":"https://example.com"},"assert_endpoint":{"type":"string","description":"URL of service provider assert endpoint. A value should be a valid URI","example":"https://example.com"},"idp_certificates":{"type":"array","description":"An array of Identity Provider certificates","items":{"type":"string","example":"identity_provider_certificate"}},"name_id_format":{"type":"string","description":"Format for Name ID","enum":["urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified","urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","urn:oasis:names:tc:SAML:2.0:nameid-format:transient","undefined"]},"private_key":{"type":"string","description":"Private key for the service provider","example":"private_key"},"certificate":{"type":"string","description":"Certificate for the service provider","example":"certificate"},"force_auth":{"type":"boolean","description":"Forces re-authentication of users even if the user has a SSO session with the Identity Provider","default":false},"allow_unencrypted_assertion":{"type":"boolean","description":"Allows unencrypted assertions","default":true},"config":{"type":"object","required":["email_attribute","auto_create_users"],"properties":{"hide_auth_page":{"type":"boolean","description":"Hides default login page","default":false},"email_attribute":{"type":"string","description":"Name of the attribute that contains a user email address","example":"name_id"},"auto_create_users":{"type":"boolean","description":"Creates user if not registered","default":true}}}}},"relationships":{"type":"object","readOnly":true,"required":["tenant","links"],"properties":{"tenant":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["tenant"]}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/tenants/5b4f337bff4304610483ba67"}}}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["tenants"],"summary":"Remove a SAML 2.0 Provider based on the specified SAML 2.0. Id and Tenant Id","description":"You need `tenants.tenant.edit` permission to access this resource","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"saml_provider_id","description":"SAML Provider identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/tenants/{tenant_id}/connector-usage":{"get":{"tags":["tenants"],"summary":"Returns connector usage statistics for the specified Tenant","description":"Returns a paginated list of connectors used across all workspaces in the tenant,\nincluding usage counts grouped by contract and workspace.\nResults are sorted by total usage descending and cached for 5 minutes.\nThis endpoint is available to Tenant Admins only.\n","parameters":[{"in":"path","name":"tenant_id","description":"Tenant identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}},{"name":"page[size]","in":"query","description":"Number of items per page (max 100)","schema":{"type":"integer","default":10,"maximum":100}},{"name":"filter[active]","in":"query","description":"If `true`, only counts nodes from active flows","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"component_id":{"type":"string","description":"Component (connector) ID"},"component_name":{"type":"string","description":"Component title from the latest active build"},"deployed_contract_id":{"type":"string","nullable":true,"description":"ID of the contract that owns the component's repository"},"deployed_contract_name":{"type":"string","nullable":true,"description":"Name of the contract that owns the component's repository"},"total_usage":{"type":"integer","description":"Total number of nodes using this component across all flows"},"contracts":{"type":"array","description":"Usage breakdown by contract, sorted by usage_count descending","items":{"type":"object","properties":{"contract_id":{"type":"string","nullable":true},"contract_name":{"type":"string","nullable":true},"usage_count":{"type":"integer"},"workspaces":{"type":"array","items":{"type":"object","properties":{"workspace_id":{"type":"string"},"workspace_name":{"type":"string"},"usage_count":{"type":"integer"}}}}}}}}}},"meta":{"type":"object","properties":{"page":{"type":"integer","description":"Current page number"},"per_page":{"type":"integer","description":"Number of items per page"},"total":{"type":"integer","description":"Total number of distinct components"},"total_pages":{"type":"integer","description":"Total number of pages"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/users":{"get":{"tags":["users"],"summary":"Lists all Users","description":"You need `tenants.user.list_all` permission to access this resource","parameters":[{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}},{"in":"query","name":"iss","description":"Users must have OpenId identity equal to this value. Can't be used with \"email\" parameter","schema":{"type":"string"}},{"in":"query","name":"sub","description":"Users must have OpenId subject equal to this value. Can't be used with \"email\" parameter","schema":{"type":"string"}},{"in":"query","name":"email","description":"Users must have email equal to this value","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","email","company","registered","last_login"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Doe"},"email":{"type":"string","example":"test@example.com"},"company":{"type":"string","example":"My Company"},"registered":{"type":"string","example":"2017-10-02T12:18:06.274Z"},"last_login":{"type":"string","example":"2018-03-15T16:53:57.696Z"}}}}}},"meta":{"type":"object","required":["total","page","per_page","total_pages"],"properties":{"total":{"type":"integer","format":"int64","example":6},"page":{"type":"integer","format":"int64","example":1},"per_page":{"type":"integer","format":"int64","example":50},"total_pages":{"type":"integer","format":"int64","example":1}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}},"post":{"tags":["users"],"summary":"Create a User","description":"You need `tenants.user.create` permission to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","description":"A value must be ``user``","enum":["user"]},"attributes":{"type":"object","required":["first_name","last_name","email","password"],"properties":{"first_name":{"type":"string","description":"User's first name.","example":"John"},"last_name":{"type":"string","description":"User's last name.","example":"Doe"},"email":{"type":"string","description":"User's email.","example":"test@example.com"},"password":{"type":"string","description":"User's password. Password should be at least 8 characters long and include letters, numbers and special symbols.","example":"P@ssw0rd"}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","email","company","registered","last_login"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Doe"},"email":{"type":"string","example":"test@example.com"},"company":{"type":"string","example":"My Company"},"registered":{"type":"string","example":"2017-10-02T12:18:06.274Z"},"last_login":{"type":"string","example":"2018-03-15T16:53:57.696Z"}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/users/me":{"get":{"tags":["users"],"summary":"Returns your User","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","email","password"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Doe"},"email":{"type":"string","example":"test@example.com"},"password":{"type":"string","example":"P@ssw0rd"}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}}},"/users/{user_id}":{"get":{"tags":["users"],"summary":"Returns a User based on the specified User ID","description":"You need `tenants.user.get` permission to access this resource","parameters":[{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","email","company","registered","last_login"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Doe"},"email":{"type":"string","example":"test@example.com"},"company":{"type":"string","example":"My Company"},"registered":{"type":"string","example":"2017-10-02T12:18:06.274Z"},"last_login":{"type":"string","example":"2018-03-15T16:53:57.696Z"}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["users"],"summary":"Delete a User based on the specified User ID","description":"You need `tenants.user.delete` permission to access resource\n* SSH keys\n* User's object itself\n* all Workspaces and Contracts, where the User is **the only member**\n\nThese data objects are deleted automatically (e.g. due to expiration), so they won't be deleted right after User deletion:\n* Flows activity records (used in order to show runlog)\n* Logs of flow execution and repo build\n* Invitations to the Team, Contract and Workspace\n* Notifications\n* If this User is a member of any Contract, which has one more Owner beside them then User's Teams and Repos will be transferred to the next Owner.\n* If this User is a member of any Workspace, which has one more Owner beside them then User's Flows and Credentials will be transferred to the next Owner.\n* If this User is the last Owner of any Workspace then given Workspace will be deleted with all data.\n* If this User is the only member of Contract(s) then they will be deleted along with Contract and all the unique data connected with this User.\n","parameters":[{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/users/{user_id}/disable-totp":{"post":{"tags":["users"],"summary":"Disable two-factor authentication (TOTP) for a User based on the specified User Id","description":"You need `tenants.user.disable_totp` permission to access resource","parameters":[{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/users/{user_id}/one-time-token":{"post":{"tags":["users"],"summary":"Generate a one-time JSON Web Token for authentication on the platform","description":"You need `tenants.user.generate_one_time_token` permission to access resource","parameters":[{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTIzNDU2Nzg5LCJuYW1lIjoiSm9zZXBoIn0.OpOSSw7e485LOP5PrzScxHb7SR6sAOMRckfFwi4rp7o"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/users/{user_id}/openid/identities":{"post":{"tags":["users"],"summary":"Create an openid-identity based on the specified User Id","description":"You need `tenants.oidc.create` permission to access resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","description":"A value must be ``openid-identity``\n","enum":["openid-identity"]},"attributes":{"type":"object","required":["iss","sub"],"properties":{"iss":{"type":"string","description":"User's OpenID Identity issuer. Must be an URL.","example":"http://example.com"},"sub":{"type":"string","description":"User's OpenID Identity subject.","example":"user-identification"}}}}}}}}}},"parameters":[{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["openid-identity"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67/openid/identities/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["iss","sub"],"properties":{"iss":{"type":"string","example":"http://example.com"},"sub":{"type":"string","example":"user-identification"}}},"relationships":{"type":"object","required":["user"],"properties":{"user":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["user"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/users/5b4f337bff4304610483ba67"}}}}}}}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/users/{user_id}/openid/identities/{openid-identity_id}":{"delete":{"tags":["users"],"summary":"Delete an openid-identity with the specified User Id and openid-identity Id","description":"You need `tenants.oidc.delete` permission to access resource","parameters":[{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"openid-identity_id","description":"User's OpenID Identity ID","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces":{"get":{"tags":["workspaces"],"summary":"Lists all User's Workspaces","description":"User has to be a member of the Workspaces","parameters":[{"in":"query","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","flow_stats_enabled_default"],"properties":{"name":{"type":"string","example":"Workspace Name"},"type":{"type":"string","enum":["full","limited"]},"flow_stats_enabled_default":{"type":"boolean","example":true}}},"relationships":{"type":"object","required":["contract","members"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/members"}}}}}}}}}},"meta":{"type":"object","required":["total","page","per_page","total_pages"],"properties":{"total":{"type":"integer","format":"int64","example":6},"page":{"type":"integer","format":"int64","example":1},"per_page":{"type":"integer","format":"int64","example":50},"total_pages":{"type":"integer","format":"int64","example":1}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}},"post":{"tags":["workspaces"],"summary":"Creates a workspace","description":"You have to be a member of the Contract’s scope and need `contracts.workspace.create` permission to access this resource","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes","relationships"],"properties":{"type":{"type":"string","description":"A value must be ``workspace``","enum":["workspace"]},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the Workspace.","example":"My workspace"},"flow_stats_enabled_default":{"type":"boolean","description":"Property, which controls the disabling/enabling stats for flows in a workspace.","default":true}}},"relationships":{"type":"object","required":["contract"],"properties":{"contract":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"An Id of the contract","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"A value must be “contract”","enum":["contract"]}}}}}}}}}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included","links"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","flow_stats_enabled_default"],"properties":{"name":{"type":"string","example":"Workspace Name"},"type":{"type":"string","enum":["full","limited"]},"flow_stats_enabled_default":{"type":"boolean","example":true}}},"relationships":{"type":"object","required":["contract","members"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/members"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/members/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Smith"},"roles":{"type":"array","items":{"type":"string","example":"integrator"}},"email":{"type":"string","example":"test@example.com"}}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}}}}},"/workspaces/all/list":{"get":{"tags":["workspaces"],"summary":"Sorted lists all User's Workspaces  with possibility to search","description":"User has to be a member of the Workspaces. In context of tenant admin or with permission contract.list_all workspaces where you are a member will be bellow","parameters":[{"in":"query","name":"contract_id","description":"Contract identifier","required":true,"schema":{"type":"string"}},{"name":"page[size]","in":"query","description":"Amount of items per page","schema":{"type":"integer","default":50}},{"in":"query","name":"page[number]","description":"Number of page you want to display","schema":{"type":"integer","default":1}},{"in":"query","name":"search","description":"Search query","schema":{"type":"string"}},{"in":"query","name":"isMember","description":"allow to filter own workspaces for users with for tenant admin role or with 'contract.list_all' permission","schema":{"type":"boolean","enum":[true]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","flow_stats_enabled_default"],"properties":{"name":{"type":"string","example":"Workspace Name"},"type":{"type":"string","enum":["full","limited"]},"flow_stats_enabled_default":{"type":"boolean","example":true}}},"relationships":{"type":"object","required":["contract","members"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/members"}}}}}}}}}},"meta":{"type":"object","required":["total","page","per_page","total_pages"],"properties":{"total":{"type":"integer","format":"int64","example":6},"page":{"type":"integer","format":"int64","example":1},"per_page":{"type":"integer","format":"int64","example":50},"total_pages":{"type":"integer","format":"int64","example":1}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}}}}},"/workspaces/{workspace_id}":{"get":{"tags":["workspaces"],"summary":"Returns the workspace based on the specified workspaceId.","description":"User has to be a member of the Workspace or have permision `workspaces.workspace.listAll`","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"include","description":"Include full resource objects in response for related entities, or not. Possible values: `members` and/or `invites`\n","schema":{"type":"string","enum":["members","invites","members,invites"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included","links"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","flow_stats_enabled_default"],"properties":{"name":{"type":"string","example":"Workspace Name"},"type":{"type":"string","enum":["full","limited"]},"flow_stats_enabled_default":{"type":"boolean","example":true}}},"relationships":{"type":"object","required":["contract","members"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/members"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/members/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Smith"},"roles":{"type":"array","items":{"type":"string","example":"integrator"}},"email":{"type":"string","example":"test@example.com"}}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"patch":{"tags":["workspaces"],"summary":"Update the workspace with the specified id.","description":"You have to be a member of the Contract’s scope and need `workspaces.workspace.edit` permission to access this resource. To update the type of Workspace you need `workspaces.workspace.edit_type` permission.","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","description":"A value must be \"workspace\"","enum":["workspace"]},"attributes":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the Workspace.","example":"My workspace"},"flow_stats_enabled_default":{"type":"boolean","description":"Property, which controls the disabling or enabling stats for flows in a Workspace.","example":true},"type":{"type":"string","description":"Type of the Workspace.","enum":["full","limited"]}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","included","links"],"properties":{"data":{"type":"object","required":["id","type","links","attributes","relationships"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["workspace"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["name","type","flow_stats_enabled_default"],"properties":{"name":{"type":"string","example":"Workspace Name"},"type":{"type":"string","enum":["full","limited"]},"flow_stats_enabled_default":{"type":"boolean","example":true}}},"relationships":{"type":"object","required":["contract","members"],"properties":{"contract":{"type":"object","required":["data","links"],"properties":{"data":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["contract"]}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/contracts/5b4f337bff4304610483ba67"}}}}},"members":{"type":"object","required":["data","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/members"}}}}}}}}},"meta":{"type":"object","example":"{}"},"included":{"type":"array","items":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/members/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Smith"},"roles":{"type":"array","items":{"type":"string","example":"integrator"}},"email":{"type":"string","example":"test@example.com"}}}}}},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["workspaces"],"summary":"Remove the workspace with the specified id.","description":"This request can be performed by either the Contract’s user (the current Workspace assigned to) with the `contracts.workspace.delete` permission or just the Workspace’s user with the `workspaces.workspace.edit` permission.\n* Credentials\n* Agents\n* DataSamples\n* InviteTokens\n* Lookups\n* Flow’s DynamicMetadata\n* Flow’s DynamicSelectModel\n* Flow’s ExecStat\n* Flow’s ExecutionResult\n* Flow’s MarathonEvent\n* Flow’s RequestBin\n* Flow’s TaskHooksData\n* Flow’s TaskStats\n* Flow’s TaskStatError\n* Flow’s TaskVersion\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/members":{"get":{"tags":["workspaces"],"summary":"Lists all members of specified workspace.","description":"User has to be a member of the Workspace","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta","links"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/members/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Smith"},"roles":{"type":"array","items":{"type":"string","example":"integrator"}},"email":{"type":"string","example":"test@example.com"}}}}}},"meta":{"type":"object","example":"{}"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/workspaces/5b4f337bff4304610483ba67/members"}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"post":{"tags":["workspaces"],"summary":"Adds a user to a specified workspace as a member.","description":"You can add user only from the contract, which current workspace belongs to. A notification email will be sent. The user becomes a member immediately. You need `workspaces.workspace.edit` or `tenant.workspace.edit_membership` permissions to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"ID of an already registered user, who will be added as a member of the Workspace","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value “member”.","enum":["member"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"type":"string","example":"integrator"}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/members/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Smith"},"roles":{"type":"array","items":{"type":"string","example":"owner"}},"email":{"type":"string","example":"test@example.com"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":409},"title":{"type":"string","example":"Conflict"},"detail":{"type":"string","example":"Indicates that the request could not be processed because of conflict in the request"},"code":{"type":"integer","example":409},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/members/{user_id}":{"patch":{"tags":["workspaces"],"summary":"Update the list of roles of specified member.","description":"Only `roles` attribute can be updated. You need `workspaces.workspace.edit` or `tenant.workspace.edit_membership` permissions to access this resource","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"ID of an already registered user, who will be added as a member of the Workspace","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","description":"Allowed value “member”.","enum":["member"]},"attributes":{"type":"object","required":["roles"],"properties":{"roles":{"type":"array","items":{"type":"string","example":"integrator"}}}}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/members/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Smith"},"roles":{"type":"array","items":{"type":"string","example":"owner"}},"email":{"type":"string","example":"test@example.com"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["workspaces"],"summary":"Removes specified member from workspace","description":"You need `workspaces.workspace.edit` or `tenant.workspace.edit_membership` permissions to access resource\n* Flows\n* Credentials\n* DataSamples\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"path","name":"user_id","description":"User identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/members/support":{"patch":{"tags":["workspaces"],"summary":"Adds support User into Workspace.","description":"The attribute `support_user_id` should be defined for Contract or Tenant. If support user is not a member of corresponding Contract he/she will be added to this contract with owner role as well. You need `workspace.workspace.edit_membership_support` permission to access resource.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","type","links","attributes"],"properties":{"id":{"type":"string","example":"5b4f337bff4304610483ba67"},"type":{"type":"string","enum":["member"]},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string","example":"/v2/members/5b4f337bff4304610483ba67"}}},"attributes":{"type":"object","required":["first_name","last_name","roles","email"],"properties":{"first_name":{"type":"string","example":"John"},"last_name":{"type":"string","example":"Smith"},"roles":{"type":"array","items":{"type":"string","example":"owner"}},"email":{"type":"string","example":"test@example.com"}}}}},"meta":{"type":"object","example":"{}"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}},"delete":{"tags":["workspaces"],"summary":"Remove support User from Workspace.","description":"If support user is not a member of any other workspace of corresponding contract he/she will be removed from this contract as well. You need `workspace.workspace.edit_membership_support` permission to access resource.\n","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/flows/suspend":{"post":{"tags":["workspaces"],"summary":"Suspends all flows in the specified workspace","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"reason","required":false,"description":"Optional reason for suspension. Use `quota-overlay` when suspending due to quota limits exceeded. When set to `quota-overlay`, flows will be marked with `suspendedByQuota` field.","schema":{"type":"string","example":"quota-overlay"}}],"description":"Suspends all active flows (excluding debug and retry flows) in the specified workspace.\nYou need to have the `workspaces.workspace.suspend_flows` permission to access this resource.\n","responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","properties":{"suspended":{"type":"integer","description":"Number of flows successfully suspended"},"errors":{"type":"array","items":{"type":"object","properties":{"flowId":{"type":"string"},"error":{"type":"string"}}},"description":"List of errors that occurred during suspension (if any)"}},"required":["suspended"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}},"/workspaces/{workspace_id}/flows/resume-quota-suspended":{"post":{"tags":["workspaces"],"summary":"Resumes all quota-suspended flows in the specified workspace","parameters":[{"in":"path","name":"workspace_id","description":"Workspace identifier","required":true,"schema":{"type":"string"}}],"description":"Resumes all flows that were suspended due to quota limits (excluding debug and retry flows) in the specified workspace.\nYou need to have the `workspaces.workspace.resume_quota_suspended_flows` permission to access this resource.\n","responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","properties":{"resumed":{"type":"integer","description":"Number of flows successfully resumed"},"errors":{"type":"array","items":{"type":"object","properties":{"flowId":{"type":"string"},"error":{"type":"string"}}},"description":"List of errors that occurred during resume (if any)"}},"required":["resumed"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["status","title","detail"],"properties":{"status":{"type":"integer","example":401},"title":{"type":"string","example":"Error"},"detail":{"type":"string","example":"No authorization header was provided."}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta"],"properties":{"status":{"type":"integer","example":403},"title":{"type":"string","example":"Unauthorized"},"detail":{"type":"string","example":"You need a permission to access this resource."},"code":{"type":"integer","example":403},"meta":{"type":"object","example":"{}"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["detail","status","code","title","meta","source"],"properties":{"status":{"type":"integer","example":404},"title":{"type":"string","example":"Resource not found"},"detail":{"type":"string","example":"The resource is not found."},"code":{"type":"integer","example":404},"meta":{"type":"object","example":"{}"},"source":{"type":"object","required":["parameter"],"properties":{"parameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"resource_id"}}}}}}}}}}}}}}}}},"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}}}}