{"components":{"schemas":{"Announcement":{"description":"Invidual RSS Announcement","properties":{"description":{"description":"Description of announcement","type":"string"},"link":{"description":"Announcement link","type":"string"},"pin":{"description":"Used to Pin announcements to the top","type":"boolean"},"publish_date":{"description":"Date when was announcement published","format":"date-time","type":"string"},"title":{"description":"Title of announcement","type":"string"}},"type":"object"},"AvailableScenario":{"description":"Specific scenario URL, that is available to use","properties":{"name":{"description":"Scenario name","type":"string"},"route":{"description":"CloudSim API to specific Scenario","type":"string"}},"type":"object"},"CashTradeEnrichmentRule":{"description":"Trade enrichment rule for cash markets.","properties":{"enrichment_rule_id":{"description":"Enrichment rule ID that will be used in T7.","type":"integer"},"free_text_1":{"description":"First free-format text field for traderspecific or customer-related comments. Valid characters:  , #-%, (-*, ,-;, ?, A-_, a-{, }, ~","type":"string"},"free_text_2":{"description":"Second free-format text field for trader-specific or customer-related comments. Will not be forwarded to CCP for cash markets. Valid characters:  , #-%, (-*, ,-;, ?, A-_, a-{, }, ~","type":"string"},"free_text_4":{"description":"Fourth free-format text field for trader-specific or customer-related comments. Please note that there is no third free-format text field for cash markets. Valid characters:  , #-%, (-*, ,-;, ?, A-_, a-{, }, ~","type":"string"},"id":{"description":"Internal rule id that can be used for editation and deletion of this rule.","type":"integer"},"owning_member_id":{"description":"Member ID which has this rule applied in their environment. Can be only of the ESIMx(CL) family.","type":"string"}},"type":"object"},"ClientImagePrivate":{"description":"Individual T7 image within MySQL database.","properties":{"allowed_member_id":{"description":"Optionally allowed member ids for the image","example":"GDBXX","type":"string"},"backend_type":{"description":"Specify image backend type","example":"T7","type":"string"},"baseline":{"description":"Baseline number","example":"80.5.30","type":"string"},"billing_tier":{"description":"SAP Billing tier for the launched images","example":1,"type":"integer"},"cloud_provider_image_id":{"description":"Cloud provider image identifier","example":"cloudsim-xeur-manually-built-2024-12-12","type":"string"},"display_order":{"description":"Optional display order","example":100,"type":"integer"},"id":{"description":"Client image internal id","type":"integer"},"image_name":{"description":"Human readable image name","example":"Test image","type":"string"},"instance_type":{"description":"Instance type to be used in the cloud","example":"n2-standard-2","type":"string"},"is_active":{"description":"Flag determining whether ","example":1,"type":"boolean"},"last_update":{"description":"Last update timestamp","example":null,"type":"string"},"mic":{"description":"T7 Market ID","example":"XEUR","type":"string"},"pipeline_name":{"description":"Optional pipeline name to start instance","example":"CloudSimUpcomming","type":"string"},"rel":{"description":"Build number","type":"integer"},"specification":{"description":"Image specification (null|prodref)","example":null,"type":"string"},"stage":{"description":"Image stage (QA/LIVE)","example":"DEVELOPMENT","type":"string"},"user_text":{"description":"Optional user text to display in interface","example":"Test image.","type":"string"},"version":{"description":"T7 Version","example":"8.0","type":"string"}},"type":"object"},"DerivativesTradeEnrichmentRule":{"description":"Trade enrichment rule for derivatives markets.","properties":{"account":{"description":"Accounts to book trades and keep positions on. Valid characters: 1-9, A, G, I, M, P, R","type":"string"},"enrichment_rule_id":{"description":"Enrichment rule ID that will be used in T7.","type":"integer"},"free_text_1":{"description":"First free-format text field for traderspecific or customer-related comments. Valid characters:  , #-%, (-*, ,-;, ?, A-_, a-{, }, ~","type":"string"},"free_text_2":{"description":"Second free-format text field for trader-specific or customer-related comments. Will not be forwarded to CCP for cash markets. Valid characters:  , #-%, (-*, ,-;, ?, A-_, a-{, }, ~","type":"string"},"free_text_3":{"description":"Third free-format text field for trader-specific or customer-related comments. Please note that there is no fourth free-format text field for derivatives markets. Valid characters:  , #-%, (-*, ,-;, ?, A-_, a-{, }, ~","type":"string"},"id":{"description":"Internal rule id that can be used for editation and deletion of this rule.","type":"integer"},"owning_member_id":{"description":"Member ID which has this rule applied in their environment. Can be only of the ESIMx(CL) family.","type":"string"},"party_id_beneficiary":{"description":"Final Beneficiary. Valid characters: A-Z, 0-9,  ","type":"string"},"party_id_order_origination_firm":{"description":"External Member ID. Valid characters: A-Z, 0-9,  ","type":"string"},"party_id_take_up_trading_firm":{"description":"Take-up Member Short Name. Valid characters: A-Z, 0-9,  ","type":"string"},"position_effect":{"description":"Field is used for T7 position management purposes and indicates whether the order is submitted to open or close a position.","enum":["open","close"],"type":"string"}},"type":"object"},"EdcSession":{"description":"Invidual EDC session information","properties":{"ip_address":{"description":"IP address on which EDC session accepts connections","type":"string"},"member":{"description":"Business Unit short name","type":"string"},"session_id":{"description":"EDC session identifier","type":"string"},"session_name":{"description":"Name of the EDC session","type":"string"},"session_password":{"description":"Password for the EDC session","type":"string"},"ssl_port":{"description":"Port on which EDC accepts SSL connections","type":"integer"}},"type":"object"},"ErrorResponse":{"properties":{"error":{"description":"Integer value of the error (usually the status code)","type":"integer"},"message":{"description":"Text representation of the error.","type":"string"},"status":{"description":"Optional status test","type":"string"}},"required":["error","message"],"type":"object"},"FixSession":{"description":"Invidial fix session information","properties":{"drop_copy":{"description":"This session recevice drop copies","type":"boolean"},"fix_address":{"description":"IP address on which FIX session accepts connection","type":"string"},"fix_password":{"description":"Password to FIX session","type":"string"},"fix_version":{"description":"Version of FIX session","type":"string"},"member":{"description":"Business Unit short name","type":"string"},"sender_comp_id":{"description":"FIX sender comp ID","type":"string"},"session_type":{"description":"Type of FIX session","enum":["backoffice","trading"],"type":"string"},"ssl_fix_port":{"description":"Port on which FIX session accepts SSL connection","type":"integer"}},"type":"object"},"Gateway":{"description":"Invidual Gateway settings","properties":{"current_state":{"description":"Current state of the gateway","enum":["RUNNING","DOWN"],"type":"string"},"gateway_name":{"description":"Name of the gateway","type":"string"},"ip_address":{"description":"Ip Address of the gateway","type":"string"},"port":{"description":"Port of the gateway","type":"integer"},"ssl_port":{"description":"SSL port of the gateway","type":"integer"}},"type":"object"},"HealthcheckResponse":{"properties":{"healthy":{"description":"Determinates whether the API is healthy.","type":"boolean"}},"required":["healthy"],"type":"object"},"Image":{"description":"Customer-facing representation of an individual T7 image.","properties":{"description":{"description":"Description of the image","type":"string"},"id":{"description":"Unique number identificator of the image","type":"integer"},"known_limitations":{"description":"List of known limitations for image; if empty there are no known limitations.","type":"string"},"mic":{"description":"Market Identifier Code","enum":["XEUR","XETR","XFRA"],"type":"string"},"name":{"description":"Name of the image","type":"string"},"private":{"description":"Indicates if image is intended for the specific user only","type":"boolean"},"specification":{"description":"Identifier for special images, this parameter is optional","type":"string"},"stage":{"description":"Stage of the image","enum":["PRODUCTION","SIMULATION","PRE-SIMULATION","OTHER"],"type":"string"},"version":{"description":"Concrete version number of release in format [MAJOR].[MINOR] e.g. '8.1'","type":"string"}},"type":"object"},"Instance":{"description":"Represents single client instance.","properties":{"encapsulation":{"description":"Determines used VPN encapsulation method","enum":["ssl","ipsec"],"type":"string"},"estimated_expiration_time":{"description":"Estimated time in UTC at which the instance will be terminated","format":"date-time","type":"string"},"expiration_time":{"description":"Time in UTC at which the instance will be terminated","format":"date-time","type":"string"},"image":{"$ref":"#/components/schemas/Image","type":"object"},"instance_id":{"description":"Unique instance id","type":"string"},"member_id":{"description":"Member id of the owner of the instance","type":"string"},"name":{"description":"Given or random-generated name of the instance","type":"string"},"public_ip":{"description":"Public IP address of the instance","type":"string"},"start_time":{"description":"Time in UTC when was instance started","format":"date-time","type":"string"},"status":{"description":"Status of the instance","enum":["PENDING","RUNNING"],"title":"ClientInstanceState","type":"string"},"trade_enrichment_ruleset_id":{"description":"ID of a trade enrichment ruleset that this instance is running with.","nullable":true,"type":"integer"}},"type":"object"},"InstanceStatus":{"description":"Contains status of a particular client instance","properties":{"current_business_day":{"description":"Current business day for the instance","type":"string"},"exchange_up":{"description":"Indicator of exchange status","type":"boolean"},"gmc_up":{"descrption":"Indicator of GMC status","type":"boolean"},"instance_state":{"description":"State of the instance","enum":["AVAILABLE","UNAVAILABLE"],"type":"string"},"mic":{"description":"Market Identification Code","type":"string"},"uptime":{"description":"Uptime of the T7 instance","type":"string"},"vpn_tunnel_was_established":{"descrption":"Indicator whether vpn tunel was estbalished (ipsec/vpn)","type":"boolean"},"wallclock":{"description":"Exchange current time in seconds since midnight","type":"integer"}},"type":"object"},"InstanceUsage":{"description":"Invidual instance usage information","properties":{"exchange_down":{"description":"Time in UTC when exchange went down","format":"date-time","type":"string"},"exchange_up":{"description":"Time in UTC when the instance's exchange becomes available","format":"date-time","type":"string"},"instance_name":{"description":"Name of the instance","type":"string"},"run_time":{"description":"Total usage of the instance","type":"string"}},"type":"object"},"InstanceUsageReport":{"description":"Usage report for specified period","properties":{"instance_count":{"description":"Total instances run during this period","type":"integer"},"instance_usages":{"description":"List of instance usages","items":{"$ref":"#/components/schemas/InstanceUsage","type":"object"},"type":"array"},"period":{"description":"Month for which the report was generated","type":"string"},"total_run_time":{"description":"Total usage time for all instances during this period","format":"date-time","type":"string"}},"type":"object"},"Instrument":{"description":"Individual instrument","properties":{"cover_activated":{"description":"Indicates whether the cover has been activated.","nullable":true,"type":"boolean"},"cover_status":{"description":"Cover status in integer format: * 0 = Not a cover instrument * 1 = Intraday inactive cover * 2 = Long term inactive cover * 3 = Activated cover\n","enum":[0,1,2,3],"nullable":true,"type":"integer"},"cover_status_string":{"description":"Cover status in verbose enum format: * NO_COVER = cover status 0 * INTRADAY_COVER = cover status 1 * LONG_TERM_COVER = cover status 2 * ACTIVATED_COVER = cover status 3","enum":["NO_COVER","INTRADAY_COVER","LONG_TERM_COVER","ACTIVATED_COVER"],"nullable":true,"type":"string"},"id":{"description":"Id of instrument","type":"integer"},"is_cover":{"description":"Determines whether the instrument is a cover instrument.","type":"boolean"},"name":{"description":"Instrument name","type":"string"},"product_id":{"description":"Instrument belongs to products with specific id","type":"integer"},"qrs_parameters":{"description":"Optionally contains QRS parameters","properties":{"max_no_of_request_for_quote":{"description":"Denotes the maximum number of QRS which can be entered by a Business Unit per business day. ","type":"integer"},"name":{"description":"QRS Parameter name","type":"string"},"order_lifetime":{"description":"Denotes the timeout period for the entry of a corresponding QRS order after the submission of a specialist QRS reply.","type":"integer"},"rfq_lifetime":{"description":"Denotes the timeout period for the entry of a corresponding specialist QRS reply after the submission of a QRS.","type":"integer"},"rfq_reply_lifetime":{"description":"Denotes the lifetime of a QRS order. Within this time period order may be executed.","type":"integer"}},"type":"object"},"quoting_period_end":{"description":"Determines end of the quoting period. If NULL, quoting is open whole day. Available in XFRA only.","nullable":true,"type":"integer"},"quoting_period_start":{"description":"Determines start of the quoting period. If NULL, quoting is open whole day. Available in XFRA only.","nullable":true,"type":"integer"},"quoting_periods_enabled":{"description":"Determines whether quoting periods are available.","type":"boolean"},"status":{"description":"Status of instrument","type":"string"}},"type":"object"},"Interface":{"description":"Invidual interface information","properties":{"name":{"description":"Interface name","type":"string"},"primary_address":{"description":"Primary (A) interface IP address","type":"string"},"primary_port":{"description":"Primary (A) interface port","type":"string"},"secondary_address":{"description":"Secondary (B) interface IP address","type":"string"},"secondary_port":{"description":"Secondary (B) interface port","type":"string"}},"type":"object"},"IpAddress":{"description":"Individual IP address","properties":{"available":{"description":"True, if the IP address can be used (ie. isn't attached to a running instance.)","type":"boolean"},"ip_address":{"description":"IP Address in IPv4 format","type":"string"},"type":{"description":"Static IP address","enum":["static"],"type":"string"}},"required":["ip_address","available","type"],"type":"object"},"IpsecKey":{"description":"IPSec encapsulation key configuration","properties":{"created":{"description":"Date when was key created","type":"string"},"instance_id":{"description":"Instance id that uses this set of credentials. On keys for Static IPs, this is filled-in only when an instance with this key is actually running.","type":"string"},"ipsec_left_endpoint":{"description":"Used endpoint, which the instance tries to connect to","type":"string"},"ipsec_right_conf":{"description":"Example configuration for connecting to IpSEC instance","type":"string"},"ipsec_right_sec":{"description":"Security key to establish IpSEC communications (PSK)","type":"string"},"public_ip":{"description":"Public IP the key belongs to","type":"string"}},"type":"object"},"Key":{"description":"Represents single encapsulation key.","properties":{"public_ip":{"properties":{"ipsec":{"$ref":"#/components/schemas/IpsecKey","type":"object"},"ssl":{"$ref":"#/components/schemas/SslKey","type":"object"}},"type":"object"}},"type":"object"},"Process":{"description":"Invidual process of T7 Instances","properties":{"allowed_states":{"description":"To what states can be process changed","items":{"type":"string"},"type":"array"},"current_state":{"description":"Current state of process","type":"string"},"process_identifier":{"description":"Process identifier","type":"string"},"process_name":{"description":"Name of the process","type":"string"}},"type":"object"},"Product":{"description":"Represents an individual product.","properties":{"current_business_day":{"description":"Current business day for the product","type":"string"},"long_name":{"description":"Full name of the product","type":"string"},"partition_id":{"description":"Integer identifier of product group","type":"integer"},"product_id":{"description":"Integer identifier of product","type":"integer"},"product_name":{"description":"Short string identifier of product","type":"string"},"state":{"description":"Current product state","enum":["PRE_TRADING","OPENING_AUCTION","START_OF_DAY","TRADING","CLOSING","CLOSING_AUCTION","POST_TRADING","HALT"],"type":"string"},"status":{"description":"Status of the product","type":"string"}},"type":"object"},"ProductState":{"description":"Current product state","enum":["PRE_TRADING","OPENING_AUCTION","START_OF_DAY","TRADING","CLOSING","CLOSING_AUCTION","POST_TRADING","HALT"],"type":"string"},"Scenario":{"description":"Invidual scenario","properties":{"description":{"description":"Scenario description","type":"string"},"enabled":{"description":"Determines whether the scenario can be used","type":"boolean"},"name":{"description":"Scenario name","type":"string"},"products":{"description":"List of ProductIDs that the scenario is enabled for","items":{"type":"integer"},"type":"array"},"state":{"description":"Status of the scenario if applicable (null for oneshot scenarios)","enum":["ON","OFF"],"type":"string"}},"type":"object"},"ScenarioResult":{"description":"Result of the scenario execution.","properties":{"message":{"description":"Additional human-readable information regarding the scenario.","type":"string"},"result":{"description":"Textual representation of the scenario.","type":"string"},"success":{"description":"Determines whether the scenario was successful.","type":"boolean"}},"type":"object"},"Session":{"description":"Invidual session of the system","properties":{"id":{"description":"Session id","type":"string"},"mode":{"description":"Session mode","enum":["low_frequency","high_frequency"],"type":"string"},"name":{"description":"Session name","type":"string"},"password":{"description":"Session password","type":"string"},"sub_mode":{"description":"Session sub mode","enum":["backoffice","trading"],"type":"string"}},"type":"object"},"Smoketest":{"description":"Smoketest run record.","properties":{"client_test_result":{"description":"Junit Test output/result","example":"<xml junit result>","type":"string"},"created_at":{"description":"Creation timestamp","format":"date-time","type":"string"},"id":{"description":"Primary key","type":"integer"},"job_name":{"description":"Job name in the k8s cluster","example":"smoketest-job-1","type":"string"},"pipeline_name":{"description":"Pipeline name","example":"CloudSimUpcoming","type":"string"},"rel":{"description":"Release number","example":123,"type":"integer"},"server_test_result":{"description":"Junit Test output/result","example":"<xml junit result>","type":"string"},"smoketest_branch":{"description":"Git branch","example":"main","type":"string"},"state":{"description":"Run state (queued,running,passed,failed,cancelled,skipped)","example":"queued","type":"string"},"updated_at":{"description":"Last update timestamp","format":"date-time","type":"string"}},"type":"object"},"SslKey":{"description":"SSL encapsulation key configuration","properties":{"created":{"description":"Date when was key created","type":"string"},"instance_id":{"description":"Instance id that uses this set of credentials. On keys for Static IPs, this is filled-in only when an instance with this key is actually running.","type":"string"},"public_ip":{"description":"Public IP the key belongs to","type":"string"},"ssl_ca_crt":{"description":"Certificate-authority certificate (public key), that signed both client & server certificates","type":"string"},"ssl_client_crt":{"description":"Client connection certificate (public key)","type":"string"},"ssl_client_key":{"description":"Client connection private key","type":"string"},"ssl_config":{"description":"openssl configuration file. ssl_ca_crt is refered to as \"ca.crt\", ssl_client_crt and _key are referred to as \"client.crt\" and \"client.key\"","type":"string"}},"type":"object"},"SuccessResponse":{"properties":{"success":{"description":"Boolean indicating successful execution","type":"boolean"}},"required":["success"],"type":"object"},"Task":{"description":"Invidual Task status","properties":{"result":{"description":"Result of specified task","type":"string"},"status":{"description":"Provide status of specified task","type":"string"},"task_id":{"description":"Id of specified task","type":"string"}},"type":"object"},"TradeEnrichmentRuleset":{"description":"Individual trade enrichment ruleset","properties":{"id":{"description":"Internal ID of the trade enrichment ruleset, which can be used to reference this TER set.","type":"integer"},"market":{"description":"Market identifier where this trade enrichment rule can be used.","type":"string"},"market_type":{"description":"Determines market type. Depending on this, respective rules_{market_type} field will be used.","enum":["derivatives","cash"],"type":"string"},"name":{"description":"Trade Enrichment Ruleset name. This is for your reference.","type":"string"},"rules_cash":{"description":"List of rules for cash markets.","items":{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},"type":"array"},"rules_derivatives":{"description":"List of rules for derivatives markets.","items":{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"},"type":"array"}},"type":"object"},"User":{"description":"Invidual user of the system","properties":{"business_id":{"description":"Business ID","type":"integer"},"max_order_value":{"description":"Max order value","type":"integer"},"password":{"description":"User password","type":"string"},"trader":{"description":"Trader","enum":["supervising_trader","head_trader","regular_trader"],"type":"string"},"trader_capabilities":{"description":"Capatibilities of trader","properties":{"emergency_mass_delete":{"type":"boolean"},"emergency_stop_trade":{"type":"boolean"},"market_maker":{"type":"boolean"},"service_admin":{"type":"boolean"}},"type":"object"},"trader_name":{"description":"Name of trader","type":"string"},"username":{"description":"ETI username (as 'ETI user ID' in Launchpad)","type":"string"}},"type":"object"},"UserSession":{"description":"Individual user session of the system.","properties":{"clearing_members":{"description":"Clearer of members","items":{"type":"string"},"type":"array"},"member":{"description":"Business Unit Short Name","type":"string"},"sessions":{"description":"Sessions of the specific member","items":{"$ref":"#/components/schemas/Session","type":"object"},"type":"array"},"users":{"description":"Users assigned to the specific member","items":{"$ref":"#/components/schemas/User","type":"object"},"type":"array"}},"type":"object"},"VolatilityInterruptAllowedInstrument":{"description":"Allowed volatility interrupt configuration","properties":{"id":{"description":"Id of instrument","type":"integer"},"name":{"description":"Instrument name","type":"string"},"order_price":{"description":"Maximal baseline price","type":"string"},"product_id":{"description":"Instrument belongs to products with specific id","type":"integer"},"product_name":{"description":"Instrument belongs to products with specific name","type":"integer"},"qrs_parameters":{"description":"Optionally contains QRS parameters","properties":{"max_no_of_request_for_quote":{"description":"Denotes the maximum number of QRS which can be entered by a Business Unit per business day. ","type":"integer"},"name":{"description":"QRS Parameter name","type":"string"},"order_lifetime":{"description":"Denotes the timeout period for the entry of a corresponding QRS order after the submission of a specialist QRS reply.","type":"integer"},"rfq_lifetime":{"description":"Denotes the timeout period for the entry of a corresponding specialist QRS reply after the submission of a QRS.","type":"integer"},"rfq_reply_lifetime":{"description":"Denotes the lifetime of a QRS order. Within this time period order may be executed.","type":"integer"}},"type":"object"},"quoting_period_end":{"description":"Determines end of the quoting period. If NULL, quoting is open whole day. Available in XFRA only.","nullable":true,"type":"integer"},"quoting_period_start":{"description":"Determines start of the quoting period. If NULL, quoting is open whole day. Available in XFRA only.","nullable":true,"type":"integer"},"quoting_periods_enabled":{"description":"Determines whether quoting periods are available.","type":"boolean"},"status":{"description":"Status of instrument","type":"string"},"trigger_price":{"description":"Maximal trigger price","type":"string"}},"type":"object"}}},"info":{"title":"T7 Cloud Simulation API","version":"1.9.2"},"openapi":"3.0.2","paths":{"/v1/feedback":{"post":{"description":"Please give us your feedback. It is anonymous.","requestBody":{"content":{"application/json":{"schema":{"properties":{"content":{"description":"Your suggestion, opinion, or found bug","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"description":"Feedback has been accepted. Thank you for your time."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Invalid data submitted; please check the error message for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Utility"]}},"/v1/healthcheck":{"get":{"description":"Check API healthyness.\n\n</br>\nThis endpoint checks API healthyness. IF there's an error with accessing underlying APIs, the healthcheck\n\nfails with error 500 and appropiate error response.\n","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}},"description":"Object with booleans for each component, and one \"healthy\" for the overall healthyness of the API."},"500":{"content":{"application/json":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"description":"The API is not healthy. Message contains further details."}},"tags":["Utility"]}},"/v1/images":{"get":{"description":"Get list of available images","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Image"},"type":"array"}}},"description":"List of available images"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instances","Images"]}},"/v1/instances":{"get":{"description":"Get list of present instances for current user_id/member_id","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Instance"},"type":"array"}}},"description":"List of running instances"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instances"]},"post":{"description":"Start new instance","requestBody":{"content":{"application/json":{"schema":{"properties":{"encapsulation":{"description":"Used encapsulation method for the instance","enum":["ssl","ipsec"],"type":"string"},"expiration_hours":{"description":"Expiration of the instance in hours. Can be replaced by expiration_time. Only one of expiration_time and expiration_hours can be present","example":4,"maxValue":24,"minValue":1,"type":"integer"},"expiration_time":{"description":"Expiration of the instance in datetime in format YYYY-MM-DD HH:mm in UTC. Can be replaced by expiration_hours. Only one of expiration_time and expiration_hours can be present.","example":"2019-08-07 15:45","format":"date-time","maxValue":"24 from now","minValue":"1 hour from now","timezone":"UTC","type":"string"},"image":{"$ref":"#/components/schemas/Image","type":"object"},"ip_address":{"description":"Static IP Address of the instance, or None if dynamically allocated","nullable":true,"type":"string"},"name":{"description":"Optional name of the instance. Must match instance name pattern: [a-z]([-a-z0-9]{0,61}[a-z0-9]). If none is provided, we'll generate a random one.","nullable":true,"pattern":"[a-z]([-a-z0-9]{0,61}[a-z0-9])","type":"string"},"trade_enrichment_ruleset_id":{"description":"Trade enrichment ruleset that we should use to start the instance with.","type":"integer"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Instance"}}},"description":"Instance started"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Invalid data submitted; please check the error message for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."},"509":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The instance cannot be started at this moment due to insufficient cloud capacity, please try again later."}},"tags":["Instances"]}},"/v1/instances/{instance_id}":{"delete":{"description":"Terminate specified instance","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"description":"Instance has been scheduled to be terminated. It might show up in list of instances with state 'SHUTTING_DOWN'."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Attempting to terminate an instance too soon. This happens on instances with static IPs that were just started. Please retry the request in a few seconds."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instances"]},"get":{"description":"Get details about specified instance","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Instance"}}},"description":"Information about started instance"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instances"]}},"/v1/instances/{instance_id}/expiration":{"post":{"description":"Update expiration time of instance. Expiration time cannot exceed 24 hours\n\nOnly one of following paramters can be present\n\n<b>expiration_time</b> - sets expiration time to desired value in format YYYY-MM-DD HH:mm\n\n<b>expiration_hours</b> - sets expiration time with offset from now by desired value\n","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"expiration_hours":{"description":"Update expiration of the instance in hours from now. Only one expiration parameter can be provided, expiration_time or expiration_hours.","example":4,"maxValue":24,"minValue":1,"type":"integer"},"expiration_time":{"description":"Update expiration of the instance in datetime in format YYYY-MM-DD HH:mm in UTC. Only one expiration parameter can be provided, expiration_time or expiration_hours.","example":"2019-08-07 15:45","format":"date-time","maxValue":"24 from now","minValue":"1 hour from now","timezone":"UTC","type":"string"}},"required":["expiration_hours","expiration_time"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Instance"}}},"description":"Information about modified instance"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instances"]}},"/v1/instances/{instance_id}/instruments/{instrument_id}":{"get":{"description":"Get details about specified instrument","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"in":"path","name":"instrument_id","required":true,"schema":{"description":"Instrument ID returned by /instruments endpoint","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Instrument"}}},"description":"Instrument in detail"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Instruments"]}},"/v1/instances/{instance_id}/keys":{"get":{"description":"Get VPN keys associated with specified instances public IP address","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Key"}}},"description":"VPN key associated with the given instance"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instances","VPN Keys"]}},"/v1/instances/{instance_id}/processes":{"get":{"description":"Get list of available processes and thier allowed states, like Failover","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Process"}}},"description":"Process information and state"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Processes"]}},"/v1/instances/{instance_id}/processes/{process_identifier}":{"post":{"description":"Set process to desired state, like Failover specific process","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"in":"path","name":"process_identifier","required":true,"schema":{"description":"Process identifier provided by /instances/<instance_id>/processes endpoint","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"state":{"description":"Name of desired state provided by /instances/<instance_id>/processes endpoint","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Process"}}},"description":"Process information and state"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Processes"]}},"/v1/instances/{instance_id}/products":{"get":{"description":"Get list of all products available in the specified instance.","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Product"},"type":"array"}}},"description":"List of products"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Products"]},"post":{"description":"Change state of all the available products in the instance","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"exclusion_list":{"items":{"type":"string"},"type":"array"},"state":{"$ref":"#/components/schemas/ProductState"}},"required":["state"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Product"},"type":"array"}}},"description":"List of all available products with changed states"},"202":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Product"},"type":"array"}}},"description":"List of products that have failed to transition"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Products"]}},"/v1/instances/{instance_id}/products/states":{"get":{"description":"Get list of supported product states available in the instance","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductState"}}},"description":"List of all supported product states"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Products"]}},"/v1/instances/{instance_id}/products/{product_identifier}":{"get":{"description":"Get single product info","parameters":[{"description":"Instance ID provided by /instances endpoints","in":"path","name":"instance_id","required":true,"schema":{"type":"string"}},{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","in":"path","name":"product_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"type":"integer"}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}},"description":"Individual product information"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Products"]},"post":{"description":"Change state of a single product","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","in":"path","name":"product_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"state":{"$ref":"#/components/schemas/ProductState"}},"required":["state"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}},"description":"Individual product information with changed state"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Bad request; going backwards in state is not allowed."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Products"]}},"/v1/instances/{instance_id}/products/{product_identifier}/instruments":{"get":{"description":"Get list of all instruments for specific product","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","in":"path","name":"product_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"minValue":0,"type":"integer"}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Instrument"},"type":"array"}}},"description":"List all available Instruments"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Instruments"]}},"/v1/instances/{instance_id}/products/{product_identifier}/instruments/{instrument_identifier}":{"get":{"description":"Get details about specified instrument for specific product","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","in":"path","name":"product_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"minValue":0,"type":"integer"}]}},{"in":"path","name":"instrument_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"minValue":0,"type":"integer"}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Instrument"}}},"description":"Instrument in detail"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Instruments"]},"put":{"consumes":["application/json"],"name":"Request body","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","in":"path","name":"product_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"minValue":0,"type":"integer"}]}},{"in":"path","name":"instrument_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"minValue":0,"type":"integer"}]}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"activate_cover":{"description":"Set to true when you want to activate an inactive cover.","type":"boolean"},"quoting_period_end":{"description":"Set the quoting period end. Value is seconds from midnight. Set both arguments to 0 if you want to enable quoting for the entire day.","nullable":true,"type":"integer"},"quoting_period_start":{"description":"Set the quoting period start. Value is seconds from midnight. Set both arguments to 0 if you want to enable quoting for the entire day.","nullable":true,"type":"integer"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Instrument"}}},"description":"Changed Instrument in detail"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Bad request; please check your input values."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Instruments"]}},"/v1/instances/{instance_id}/scenarios":{"get":{"description":"Get all available scenarios of the instance.","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AvailableScenario"},"type":"array"}}},"description":"Available Scenario definition."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios"]}},"/v1/instances/{instance_id}/scenarios/automatcher":{"get":{"description":"Get state of the automatcher scenario.","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scenario"}}},"description":"Scenario definition."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios"]},"post":{"description":"Change state of automatcher products","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"products":{"description":"List of product identifiers (ie. FDAX) for automatcher setup in string","items":{"type":"string"},"type":"array"},"state":{"description":"Enable/Disable automacher for given products","enum":["ON","OFF"],"type":"string"}},"required":["state","products"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scenario"}}},"description":"Scenario definition."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios"]}},"/v1/instances/{instance_id}/scenarios/automatcher/available-products":{"get":{"description":"Get list of products that can be used in automatcher","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Product"},"type":"array"}}},"description":"List of all available products"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios"]}},"/v1/instances/{instance_id}/scenarios/liquiditygenerator":{"get":{"description":"Get list of all turned on Liquidity Generators","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scenario"}}},"description":"Scenario definition."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios"]},"post":{"description":"Change Liquidity Generator state","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"products":{"description":"List of product identifiers (ie. FDAX) for liquidity generator setup in string","items":{"type":"string"},"type":"array"},"state":{"description":"Enable/Disable liquidity generator for given products","enum":["ON","OFF"],"type":"string"}},"required":["state","products"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scenario"}}},"description":"New Liquidity Generator scenario state after change"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/clearing-risk-control":{"post":{"description":"Mass Cancellation Notifications with the MassActionReason Clearing Risk Control are normally triggered by a Clearing Member initiating the \u201cStop Button\u201d for one of their trading participants.","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"member":{"description":"Business Unit Short Name returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/complex-instrument-deleted":{"post":{"description":"A Mass Cancellation Event with the MassActionReason set to Complex Instrument Deletion is triggered when a complex instrument is deleted. You can select an instrument for deletion by first choosing the product it belongs to.","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"instrument_id":{"description":"Complex Instrument ID","type":"integer"},"product_identifier":{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/emergency":{"post":{"description":"Normally triggered via the T7 GUI function \u201cPanic Cancel\u201d, the Emergency MassActionReason deletes all orders, quotes, or both, depending on the selected Ownership Context (User, Session, or Business Unit).","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"member":{"description":"Business Unit Short Name returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"string"},"order_or_quote":{"description":"Cancel Order and/or Quotes","enum":["ORDER","QUOTE","ORDER_AND_QUOTE"],"type":"string"},"session_id":{"description":"Session integer identifier returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"integer"},"username":{"description":"ETI username asigned to the member returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"integer"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/emergency/{product_identifier}":{"post":{"description":"Normally triggered via the T7 GUI function \u201cPanic Cancel\u201d, the Emergency MassActionReason deletes all orders, quotes, or both, depending on the selected Ownership Context (User, Session, or Business Unit).","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","in":"path","name":"product_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"member":{"description":"Business Unit Short Name returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"string"},"order_or_quote":{"description":"Cancel Order and/or Quotes","enum":["ORDER","QUOTE","ORDER_AND_QUOTE"],"type":"string"},"session_id":{"description":"Session integer identifier returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"integer"},"username":{"description":"ETI username asigned to the member returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"integer"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/instrument-suspended":{"post":{"description":"In order to trigger a Mass Cancellation Event with a MassActionReason of Instrument Suspended, simply choose the product that your desired instrument belongs to and your desired instrument.","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"instrument_id":{"description":"Simple Instrument ID","type":"integer"},"product_identifier":{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/product-temporarily-not-tradable":{"post":{"description":"A Mass Cancellation Event with a MassActionReason of Product temporarily not tradable is triggered during a slow partition state, also known as a matching engine processing delay.\n\nWhen triggering this event via Instance Control, an ETI order will automatically be entered for your selected instrument with parameters that will trigger a slow partition.\n","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"product_identifier":{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/stop-trading":{"post":{"description":"Normally triggered via the T7 GUI function \u201cStop + Release Business Unit / Trader\u201d, the Trading was stopped MassActionReason deletes all orders, quotes, or both, depending on the selected Ownership Context (User, Session, or Business Unit)","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"member":{"description":"Business Unit Short Name returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"string"},"order_or_quote":{"description":"Cancel Order and/or Quotes","enum":["ORDER","QUOTE","ORDER_AND_QUOTE"],"type":"string"},"session_id":{"description":"Session integer identifier returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"integer"},"username":{"description":"ETI username asigned to the member returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"integer"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/stop-trading/{product_identifier}":{"post":{"description":"This scenario allows to get volatility interupt allowed instruments","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","in":"path","name":"product_identifier","required":true,"schema":{"oneOf":[{"type":"string"},{"type":"integer"}]}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"member":{"description":"Business Unit Short Name returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"string"},"order_or_quote":{"description":"Cancel Order and/or Quotes","enum":["ORDER","QUOTE","ORDER_AND_QUOTE"],"type":"string"},"session_id":{"description":"Session integer identifier returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"integer"},"username":{"description":"ETI username asigned to the member returned by /instances/<instance_id>/utility/users-sessions endpoint","type":"integer"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/volatility-interrupt":{"post":{"description":"A Volatility Interruption MassActionReason occurs when an execution price for an instrument deviates outside of a pre-defined price boundary.\n\n<br>\nTo get volatility allowed instruments use /instances/<instance_id>/scenarios/mass-cancellation/volatility-interrupt endpoint.\n\n<br>\nIn order to successfully trigger a volatility interruption via Instance Control, several conditions must first be met:\n\nThe product FGBS must be in continuous trading.\n\nThe order book must be empty, except for a single order of any quantity or side, with a price equal to or less than 102.8.\n\nThe owning user of this order should be currently logged in to an ETI session in order to receive the related Mass Cancellation Event message.\n","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"instrument_id":{"description":"Instrument ID","type":"integer"},"product_identifier":{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/mass-cancellation/volatility-interrupt/allowed-instruments":{"get":{"description":"Get all allowed instruments and configurations for volatility interrupt scenario","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioResult"}}},"description":"Scenario result information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios - Mass Cancellation"]}},"/v1/instances/{instance_id}/scenarios/quoting-periods":{"post":{"consumes":["application/json"],"deprecated":true,"name":"Request body","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"instrument_identifier":{"description":"instrument_id or instrument_name as returned by /instances/<instance_id>/products/<product_id>/instruments endpoint","type":"string"},"product_identifier":{"description":"product_id or product_name as returned by /instances/<instance_id>/products endpoint","type":"string"},"quoting_period_end":{"description":"Set the quoting period end. Value is seconds from midnight. Set both arguments to 0 if you want to enable quoting for the entire day.","nullable":true,"type":"integer"},"quoting_period_start":{"description":"Set the quoting period start. Value is seconds from midnight. Set both arguments to 0 if you want to enable quoting for the entire day.","nullable":true,"type":"integer"}},"required":["quoting_period_start","quoting_period_end"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Scenario result information message","schema":{"$ref":"#/components/schemas/ScenarioResult"}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios"]}},"/v1/instances/{instance_id}/scenarios/tradereversal":{"post":{"description":"This scenario allows you to reverse your own trade","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"fill_match_id":{"description":"FillMatchID of the trade you want reversed.","type":"integer"},"product":{"description":"Product ID that has the trade being reversed.","type":"string"}},"required":["product","fill_match_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"Verbal description of the scenario execution / non-execution.","type":"string"},"status":{"description":"'SUCCESS' on trade reversal, 'FAILURE' when the trade cannot be reversed (ie. unknown FillMatchID)","type":"string"}},"type":"object"}}},"description":"Trade reversal scenario information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Scenarios"]}},"/v1/instances/{instance_id}/status":{"get":{"description":"Get current status of instance control in the specified instance.","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceStatus"}}},"description":"Status information about given instance"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instances"]}},"/v1/instances/{instance_id}/utility/activity":{"get":{"description":"Download activity file","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}},"description":"Activity file to download"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/edc-sessions":{"get":{"description":"Get list of available EDC sessions","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EdcSession"}}},"description":"EDC session information"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/eti-password-encrypt-pub-key":{"get":{"description":"Download the ETI password encryption public key","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/x-pem-file":{"schema":{"format":"text","type":"string"}}},"description":"ETI password encryption key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/eti-session-gateways":{"get":{"description":"Get list of available ETI session gateways","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Gateway"}}},"description":"Gateway information"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/fix-sessions":{"get":{"description":"Get list of available fix sessions","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixSession"}}},"description":"Fix session information"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/interfaces":{"get":{"description":"Get list of available interfaces","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Interface"}}},"description":"Interface information"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/logs":{"get":{"description":"Get list of available logs","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"List of available logs"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/logs/{log_name}":{"get":{"description":"Get specified logs","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"in":"path","name":"log_name","required":true,"schema":{"description":"Log name provied by /instances/<instance_id>/utility/logs","type":"string"}},{"description":"Optionally specify which how many lines to fetch","in":"query","name":"lines","schema":{"type":"integer"}}],"responses":{"200":{"content":{"text/plain":{"schema":{"format":"binary","type":"string"}}},"description":"Specific logs"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/reference-data":{"get":{"description":"Get list of available reference data files to download","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"List of available reference data files to download"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/reference-data/{filename}":{"get":{"description":"Download specified reference data file","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}},{"in":"path","name":"filename","required":true,"schema":{"description":"File name provied by /instances/<instance_id>/utility/reference-data","type":"string"}}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}},"description":"Specific file to download"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"The scenario is not available for this instance at this time."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/trade-enrichment-rules":{"get":{"description":"Get trade enrichment rules that are attached to the instance.","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"oneOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]},"type":"array"}}},"description":"List of available trade enrichment rules. Please note that the \"id\" field is always empty on this endpoint."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/instances/{instance_id}/utility/users-sessions":{"get":{"description":"Get list of all UserSessions","parameters":[{"in":"path","name":"instance_id","required":true,"schema":{"description":"Instance ID provided by /instances endpoints","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserSession"},"type":"array"}}},"description":"User session information message"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"424":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Instance is running, but not controllable. This error generally occurs on freshly started instances."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse","type":"string"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instance: Utility"]}},"/v1/ip_addresses":{"get":{"description":"Get list of all static IP addresses associated with signed-in account","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IpAddress"},"type":"array"}}},"description":"List of all addresses associated with an account."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Instances","IPs"]}},"/v1/ip_addresses/{ip_address}":{"get":{"description":"Get details of an individual IP Address","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"description":"IP Address which you're interested in","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpAddress"}}},"description":"Detail of a given IP address"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["IPs"]}},"/v1/keys":{"get":{"description":"Get all encapsulation keys","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Key"}}},"description":"Detail of a given encapsulation keys"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["VPN Keys"]}},"/v1/keys/{ip_address}":{"get":{"description":"Get encapsulation keys for individual IP address","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"description":"description: IP Address for which you want to retrieve the keys","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpsecKey"}}},"description":"Detail of a given encapsulation keys"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["VPN Keys"]}},"/v1/keys/{ip_address}/ipsec":{"delete":{"description":"Delete specified ipsec key","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"description":"description: IP Address for which you want to retrieve the keys","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}},"description":"Detail of a given encapsulation keys"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["VPN Keys"]},"post":{"description":"Generate IPSec encapsulation keys","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"description":"Encapsulation keys would be generated for this Static IP address","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"endpoint_ip":{"description":"Endpoint IP address is required for IPSec encapsulation method","type":"string"},"nat_ikev1_method":{"deprecated":true,"description":"Deprecated IKEv1 parameter, ignored as now IKEv2 is used","enum":["both","drafts","rfc","none"],"type":"string"}},"required":["encapsulation"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpsecKey"}}},"description":"Detail of a given encapsulation keys"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["VPN Keys"]}},"/v1/keys/{ip_address}/ssl":{"delete":{"description":"Delete specified ssl key","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"description":"description: IP Address for which you want to retrieve the keys","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}},"description":"Detail of a given encapsulation keys"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["VPN Keys"]},"post":{"description":"Generate SSL encapsulation key","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"description":"Encapsulation keys would be generated for this Static IP address","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SslKey"}}},"description":"Detail of a given encapsulation keys"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["VPN Keys"]}},"/v1/rss-announcements/{count}":{"get":{"description":"Get RSS announcements, count of announcement is limited by parameter","parameters":[{"in":"path","name":"count","required":true,"schema":{"description":"Count of announcement","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Announcement"},"type":"array"}}},"description":"List of announcements"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Utility"]}},"/v1/trade-enrichment-rules":{"get":{"description":"List available trade enrichment rulesets","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TradeEnrichmentRuleset"},"type":"array"}}},"description":"List of all trade enrichment rulesets"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]},"post":{"description":"Create individual trade enrichment ruleset. You can supply its rules in the initial payload if you desire. Internal ids will be silently ignored if supplied.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradeEnrichmentRuleset"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradeEnrichmentRuleset"}}},"description":"An individual trade enrichment ruleset"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]}},"/v1/trade-enrichment-rules/{ruleset_id}":{"delete":{"description":"Delete individual trade enrichment ruleset.","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}},"description":"Trade enrichment ruleset successfully deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]},"get":{"description":"Get individual trade enrichment ruleset","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradeEnrichmentRuleset"}}},"description":"An individual trade enrichment ruleset"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]},"put":{"description":"Update individual trade enrichment ruleset. The only parameter that can be changed after ruleset creation is its name - market cannot be changed after it's created. In order to modify the rules, please use respective /trade-enrichment-rules/{ruleset_id}/rules endpoints.","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"description":"Ruleset name.","type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradeEnrichmentRuleset"}}},"description":"An individual trade enrichment ruleset"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]}},"/v1/trade-enrichment-rules/{ruleset_id}/rules":{"delete":{"description":"Delete all rules on a trade enrichment ruleset.","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}},"description":"All trade enrichment rules successfully deleted from ruleset"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]},"get":{"description":"Get individual trade enrichment ruleset","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"anyOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]},"type":"array"}}},"description":"An individual trade enrichment ruleset"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]},"post":{"description":"Add new rule(s) to the trade enrichment ruleset. If validation of any single individual rule fails, none of them will get persisted in order to maintain consistency.","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"anyOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]},"type":"array"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"oneOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]},"type":"array"}}},"description":"List of trade enrichment rules."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]},"put":{"description":"Replace all trade enrichment rules on a ruleset with a new list. This is a modification method; if any of the rules provide internal rule id, it will get updated, if there is no internal rule id, the rule will get created. Any existing rules that are not referenced will be deleted. For simplicity, you can just omit internal rule id altogether when updating the list of rules on a ruleset.","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"anyOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]},"type":"array"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"oneOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]},"type":"array"}}},"description":"List of trade enrichment rules."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]}},"/v1/trade-enrichment-rules/{ruleset_id}/rules/{rule_id}":{"delete":{"description":"Delete existing trade enrichment rule using its internal id.","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}},{"description":"Internal rule id","in":"path","name":"rule_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}},"description":"Trade enrichment rule successfully deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]},"get":{"description":"Get individual rule from a ruleset","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}},{"description":"Internal rule id","in":"path","name":"rule_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]}}},"description":"Individual trade enrichment rule details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]},"put":{"description":"Update existing trade enrichment rule using its internal id.","parameters":[{"description":"Internal ruleset id","in":"path","name":"ruleset_id","required":true,"schema":{"type":"integer"}},{"description":"Internal rule id","in":"path","name":"rule_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CashTradeEnrichmentRule"},{"$ref":"#/components/schemas/DerivativesTradeEnrichmentRule"}]}}},"description":"Updated trade enrichment rule"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Trade enrichment rules"]}},"/v1/usage/{usage_period}":{"get":{"description":"Get instance usage report for specified month in format 'YYYY-MM'","parameters":[{"in":"path","name":"usage_period","required":true,"schema":{"description":"Usage period in format 'YYYY-MM'","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InstanceUsage"},"type":"array"}}},"description":"List of running instances"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized access; please check your credentials."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden access; your credentials are valid, but you don't have required permissions to access this endpoint."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found; your credentials are valid, but this resource does not exist."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unspecified server error. Message contains further details."}},"tags":["Utility"]}}},"tags":[{"description":"Manage instance lifecycle","name":"Instances"},{"description":"Manage and query products within specified instance","name":"Instance: Products"},{"description":"Manage and query instruments within specified instance","name":"Instance: Instruments"},{"description":"Manage and query scenarios within specified instance","name":"Instance: Scenarios"},{"description":"Manage and query scenarios - mass cancellation within specified instance","name":"Instance: Scenarios - Mass Cancellation"},{"description":"Provides process management like failovers","name":"Instance: Processes"},{"description":"Provides various utility functions for specified instance","name":"Instance: Utility"},{"description":"Provides information about images","name":"Images"},{"description":"Provides information about available static IP addresses.","name":"IPs"},{"description":"Provides management of trade enrichment rules.","name":"Trade enrichment rules"},{"description":"Provides manipulation with VPN keys","name":"VPN Keys"},{"description":"General utility endpoints","name":"Utility"}]}
