openapi: 3.2.0 info: title: Merqube Portfolio Handler API version: 4.40.0 contact: email: support@merqube.com name: API Support url: https://www.merqube.com/contact description: 'Operations tagged portfolio_handler across 2 of this provider''s published API definitions: merqube-api-openapi.json, merqube-api-raw.yaml. Each path carries the servers of the definition it was published in.' servers: - description: Production server url: https://api.merqube.com - description: Testing server for next generation features url: https://api.staging.merqube.com tags: - description: list of portfolio handlers name: portfolio_handler paths: /target_portfolio_handler: get: description: Get all MerQube portfolio_handler. parameters: - $ref: '#/components/parameters/filterParam' - $ref: '#/components/parameters/idsParam' - $ref: '#/components/parameters/nameParam' - $ref: '#/components/parameters/namesParam' - $ref: '#/components/parameters/namespaceParam' - $ref: '#/components/parameters/fieldsParam' - $ref: '#/components/parameters/debugParam' - $ref: '#/components/parameters/formatParam' responses: '200': content: application/json: schema: properties: error_codes: $ref: '#/components/schemas/ErrorCodes' results: items: $ref: '#/components/schemas/TargetPortfolioHandlerPatchPutGet' type: array type: object description: 200 response summary: Get all MerQube portfolio_handler. tags: - portfolio_handler post: description: Create a new MerQube portfolio_handler requestBody: content: application/json: schema: $ref: '#/components/schemas/TargetPortfolioHandlerPost' responses: '200': content: application/json: schema: properties: id: description: the uuid of this portfolio_handler type: string status: type: string type: object description: OK '400': description: illegal request body '403': description: not authorized to perform this operation summary: Create a new MerQube portfolio_handler tags: - portfolio_handler servers: - description: Production server url: https://api.merqube.com - description: Testing server for next generation features url: https://api.staging.merqube.com /target_portfolio_handler/{uuid}: parameters: - $ref: '#/components/parameters/uuidParam' delete: description: Delete a MerQube portfolio_handler. responses: '200': description: OK '403': description: not authorized '404': description: portfolio_handler does not exist summary: Delete a MerQube portfolio_handler. tags: - portfolio_handler get: description: Returns the MerQube portfolio_handler with this uuid responses: '200': content: application/json: schema: $ref: '#/components/schemas/TargetPortfolioHandlerPatchPutGet' description: 200 response '403': description: not authorized to perform this operation '404': description: portfolio_handler does not exist summary: Returns the MerQube portfolio_handler with this uuid tags: - portfolio_handler patch: description: Partialy update a MerQube portfolio_handler. requestBody: content: application/json: schema: type: object description: any fields from an portfolio_handler Manifest responses: '200': description: OK '400': description: illegal request body '403': description: not authorized '404': description: portfolio_handler does not exist summary: Partially update a MerQube portfolio_handler tags: - portfolio_handler put: description: Replace a MerQube portfolio_handler. requestBody: content: application/json: schema: $ref: '#/components/schemas/TargetPortfolioHandlerPatchPutGet' responses: '200': description: OK '400': description: illegal request body '403': description: not authorized '404': description: portfolio_handler does not exist summary: Replace a MerQube portfolio_handler tags: - portfolio_handler servers: - description: Production server url: https://api.merqube.com - description: Testing server for next generation features url: https://api.staging.merqube.com components: parameters: filterParam: description: Search keyword for filtering; searches name and title for this substring in: query name: filter required: false schema: example: MQU type: string uuidParam: description: uuid of the resource in: path name: uuid required: true schema: type: string namespaceParam: description: Retrieve all resources in this namespace in: query name: namespace required: false schema: example: my_client_namespace type: string fieldsParam: description: only return these fields, plus id,namespace, for each of the resource definitions in: query name: fields required: false schema: example: title,description type: string nameParam: description: Taken as an *Exact* name to find a resource by in: query name: name required: false schema: example: MQUSTB20 type: string namesParam: description: Taken as a comma delimited list of *Exact* names to find a list if resources by in: query name: names required: false schema: example: MQUSTB20,MQUSTRAV type: string debugParam: description: turns on debugging information by injecting a debug section at the top level in: query name: debug required: false schema: enum: - 'true' type: string formatParam: description: choose csv (Default json) in: query name: format required: false schema: enum: - csv type: string idsParam: description: Taken as a comma delimited list of ids to pull. ignored if ?names is specified. in: query name: ids required: false schema: example: abcd1234,wxyz4567 type: string schemas: TargetPortfolioHandlerPost: additionalProperties: false description: Describes how to handle the validation and selection of Target Portfolios properties: auto_select: description: If true, the handler will automatically select the last valid portfolio for an effective timestamp type: boolean eod_final_portfolio_lock_enabled: default: false description: If true, finalized EOD target portfolios are locked after final selection. type: boolean event_notification_config: additionalProperties: false properties: FAILED_VALIDATION: $ref: '#/components/schemas/TargetPortfolioHandlerNotificationConfig' FINAL: $ref: '#/components/schemas/TargetPortfolioHandlerNotificationConfig' PASSED_VALIDATION: $ref: '#/components/schemas/TargetPortfolioHandlerNotificationConfig' PAST_DEADLINE: $ref: '#/components/schemas/TargetPortfolioHandlerNotificationConfig' PENDING_VALIDATION: $ref: '#/components/schemas/TargetPortfolioHandlerNotificationConfig' SELECTED: $ref: '#/components/schemas/TargetPortfolioHandlerNotificationConfig' UNSELECTED: $ref: '#/components/schemas/TargetPortfolioHandlerNotificationConfig' type: object intraday_auto_select: description: If true, the handler will automatically select the last valid intraday portfolio for an effective timestamp type: boolean intraday_final_portfolio_lock_enabled: default: false description: If true, finalized intraday target portfolios are locked after final selection. type: boolean intraday_selection_window: $ref: '#/components/schemas/TimestampWindow' description: Window to select intraday portfolios for an effective timestamp. intraday_validation_window: $ref: '#/components/schemas/TimestampWindow' description: Window to submit intraday portfolios for validation. intraday_validator_fn: type: string name: type: string namespace: description: the calling user must have permission to this namespace to create the handler in this namespace type: string selection_window: $ref: '#/components/schemas/TimestampWindow' validation_window: $ref: '#/components/schemas/TimestampWindow' validator_fn: type: string required: - name - namespace type: object CrudExtra: additionalProperties: false properties: id: type: string namespace: type: string status: $ref: '#/components/schemas/Status' required: - id - status - namespace type: object TargetPortfolioHandlerPatchPutGet: additionalProperties: false allOf: - $ref: '#/components/schemas/TargetPortfolioHandlerPost' - $ref: '#/components/schemas/CrudExtra' type: object Status: properties: created_at: type: string created_by: type: string last_modified: type: string last_modified_by: type: string locked_after: description: If this is set (non null), the manifest is locked for all edits to any other field after this timestamp. A PUT/PATCH may be used to first unlock the manifest, by setting this field (to a max of one hour in the future), or to `null` again, to make other edits. format: date-time type: string required: - last_modified type: object ErrorCodes: properties: code: type: string message: type: string type: object DisseminationDestinations: properties: email_dissapi_configs: items: properties: bcc_list: items: type: string type: array cc_list: items: type: string type: array content: type: string email_list: items: type: string type: array file_keys: items: type: string type: array recipient_list: items: type: string minItems: 1 type: array subject: type: string required: - recipient_list - subject type: object minItems: 1 type: array s3_dissapi_configs: items: properties: bucket: type: string file_keys: items: type: string type: array key_prefix: type: string required: - bucket - key_prefix - file_keys type: object type: array sftp_dissapi_configs: items: properties: file_keys: items: type: string type: array sftp_ids: items: type: string type: array required: - sftp_ids - file_keys type: object type: array type: object TargetPortfolioHandlerNotificationConfig: additionalProperties: false properties: diss_destinations: $ref: '#/components/schemas/DisseminationDestinations' file_name_format: type: string type: object TimestampWindow: additionalProperties: false properties: end_ts: description: the time of day of the deadline pattern: ^(?:[01]\d|2[0-3]):(?:[0-5]\d):(?:[0-5]\d)$ type: string start_ts: description: the time of day of the deadline pattern: ^(?:[01]\d|2[0-3]):(?:[0-5]\d):(?:[0-5]\d)$ type: string tzinfo: description: Timezone of the window type: string required: - end_ts type: object x-refined-from: - merqube-api-openapi.json - merqube-api-raw.yaml x-internal: true