---
title: "Returns the MerQube index with this uuid"
method: GET
path: "/index/{uuid}"
tags: ["index"]
---

# Returns the MerQube index with this uuid

`GET /index/{uuid}`

## Request

- Base URL: `https://api.merqube.com`
- URL: `https://api.merqube.com/index/{uuid}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/merqube/apis/merqube-api/docs/index/:uuid/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the MerQube index with this uuid

## Response `200`

200 response

- IndexDefinitionPatchPutGet
  - `administrative` Administrative, required
    - `client` object
      - `approved_by` string: if a client requests an index to a finanancial institution, and that instituion approves the index parameters for launch, this holds the oauth email of that approver
      - `owner` string: the idea here is to capture the client at a higher level than the above, e.g., this index is owned by Bank of Greatness.
      - `requested_by` string: this is the actual OAuth token email that originated the POST on index-template (similar to created_by and last_modified_by). Except, this is the user on the templating POST not the actual POST to index because the post to index is going to be a MerQube employee, but we need to capture who originated the templating request aka who called the meta-api. This field is used to put this index on that user's Manage My Indices page.
    - `deadlines` Deadline[]
      - `business_days_prior` integer, required: the amount of days before T to check for data existence
      - `deadline_type` 'calculation' | 'restatement', required
      - `metrics` string[]: the list of metrics to check in the deadline checker script
      - `next_day` boolean, required: set this to true if the index starts running on day T but the deadline does not pass until T+1 in that index timezone
      - `og_priority` 'P1' | 'P2' | 'P3', required
      - `time_of_day` string, required: the time of day of the deadline
    - `role` 'data point' | 'verification' | 'calculation' | 'development' | 'administration', required
  - `base_date` string: the date that the index has level 'base_value'
  - `base_year` integer
  - `benchmark` union
    - IndexBenchmark
      - `benchmark_metric` string: only accepted if the ticker is an MQI. The metric of the benchmark index to compare against; eg can compare to some other metric than price_return of the benchmark
      - `index_metric` string: the metric of this index to compare against the ticker/threshold, eg can compare some other metric of this index than price_return
      - `threshold` number, required: the deviation that triggers an outlier event, IE, the daily difference of the index vs the daily difference of the underlying should not be more than this percent
      - `ticker` string, required: accepts either FSYM_ID, or MQI:XXX to benchmark against another index.
    - IndexBenchmark[]
      - `benchmark_metric` string: only accepted if the ticker is an MQI. The metric of the benchmark index to compare against; eg can compare to some other metric than price_return of the benchmark
      - `index_metric` string: the metric of this index to compare against the ticker/threshold, eg can compare some other metric of this index than price_return
      - `threshold` number, required: the deviation that triggers an outlier event, IE, the daily difference of the index vs the daily difference of the underlying should not be more than this percent
      - `ticker` string, required: accepts either FSYM_ID, or MQI:XXX to benchmark against another index.
  - `calc_freq` 'Daily' | 'Daily, EOD' | 'Daily, Real Time' | 'Intraday'
  - `calculation_check` union[]
    - union
      - object
        - `check_type` 'LEVEL_CHECK', required
        - `alert_type` 'email' | 'slack' | 'opsgenie' | 'fail_computation'
        - `enabled` boolean, required
        - `metric` string, required
        - `params` LevelCheckParams, required
          - `max` number, nullable, required
          - `min` number, nullable, required
      - object
        - `check_type` 'PERCENT_CHANGE_CHECK', required
        - `alert_type` 'email' | 'slack' | 'opsgenie' | 'fail_computation'
        - `enabled` boolean, required
        - `metric` string, required
        - `params` PercentChangeCheckParams, required
          - `max` number, nullable, required
          - `min` number, nullable, required
      - object
        - `check_type` 'HISTORY_CHECK', required
        - `alert_type` 'email' | 'slack' | 'opsgenie' | 'fail_computation'
        - `enabled` boolean, required
        - `metric` string, required
        - `params` HistoryCheckParams, required
          - `days` integer, nullable, required
  - `currency` string
  - `custom_metrics` MetricsSchema[]
    - `data_type` 'string' | 'number64' | 'datetime64' | 'int64' | 'bool' | 'object', required
    - `description` string, required: a description of what this metric represents
    - `name` string, required: metric name
    - `object_schema` object: optional - this supports complex objects, ie you can specify the metric is of this schema. THis allows you to upload a json schema itself of this metric. THis is for downstream users of this metric.
  - `description` string, required
  - `display_month` 'Jan' | 'Feb' | 'Mar' | 'Apr' | 'May' | 'Jun' | 'Jul' | 'Aug' | 'Sep' | 'Oct' | 'Nov' | 'Dec'
  - `documents` object
  - `eod_rt_price_check` boolean
  - `excess_strategy` 'keep_in_cash'
  - `family` string
  - `family_codes` string[]
  - `family_description` string
  - `fill_missing_data` boolean: Controls missing equity price recovery. The API derives this flag from stage and stores true only for backtest; all other stages store false.
  - `first_value_date` string
  - `freezer_config` FreezerConfig
    - `corax` boolean
    - `fx_rates` boolean
    - `prices` boolean
    - `primary_index_name` string: the primary index to use underlying data from
    - `rebalances` boolean
  - `identifiers` IdentifierUUIDRef[]
    - `enabled` boolean: Determines if the index will disseminate data based on this Identifier
    - `name` string, required
    - `provider` 'bloomberg' | 'reuters' | 'morningstar' | 'factset' | 'nasdaq' | 'wind' | 'secapi', required: currently supported providers
  - `intraday` Intraday: Only available for indexes with intraday tick computation
    - `publish_config` IntradayPublishConfig: Mapping of index metric to targets it should be sent to
    - `active_time_ranges` IntradayTickFilter[]
      - `days_of_week` integer[]: Which days of the week to run the index. Each day of the week is denoted by an integer with Monday = 0 and Sunday = 6
      - `end_date` union
        - string, date-time
        - string, date
        - string
      - `end_time` string: Inclusive end time of the day to stop running this intraday index. Format is %H:%M:%S.%f. This should be in the timezone of the index based on tzinfo.
      - `exclude_holidays` boolean: If this is true use the index holiday calendar to decide which days to run the index. It will only run on non-holidays.
      - `start_date` union
        - string, date-time
        - string, date
        - string
      - `start_time` string: Inclusive start time of the day to start running this intraday index. Format is %H:%M:%S.%f. This should be in the timezone of the index based on tzinfo.
    - `alerting` IntradayAlerting: Alerting configuration for intraday ticks
      - `flatline_alerts` IntradayFlatlineAlerts
        - `alert_hours` AlertHours
          - `end` string: Start of the silent hours in HH:MM 24h format. The timezone is based on the intraday.tzinfo
          - `start` string: Start of the silent hours in HH:MM 24h format. The timezone is based on the intraday.tzinfo
        - `alert_type` 'opsgenie' | 'slack'
        - `enabled` boolean: If the flatline alert should be enabled
        - `min_ticks` integer: Minimum number of ticks in the window to be the same to considered a flatline
        - `window_length` integer: window_length in minutes for flatline alert
    - `calculation_max_retry_delay` integer: How many seconds to keep retrying the real time calculation before setting the force flag. Defalts to 0 which means retry forever.
    - `data_refresh_period` integer: After the rtindex refreshes its data this is the number of seconds to wait before refreshing again. 0 means do not refresh. Defaults to 3600 seconds (60min)
    - `enabled` boolean, required: If the intraday process should be run or not
    - `heartbeat_timeout` integer: Max number of seconds between heartbeats before the rtindex pod is considered unhealthy
    - `infra_timed_scaling` IntradayInfraTimedScaling: Describes how to scale up and down based on the active time range.
      - `enabled` boolean: Whether or not the deployment will be scaled up and down.
      - `end_time_buffer` integer: The amount of minutes past the end time after which the deployment is scaled down.
      - `start_time_buffer` integer: The amount of minutes before the start time from which the deployment is scale up.
    - `ohl_enabled` boolean: Should send Open High Low data to providers
    - `opening_tick_time` string: The time of opening tick in index's timezone. The index will send data against this
    - `pre_open_warmup` IntradayPreOpenWarmup: Run the unbounded summaries read before the session opens and keep only the price floor. Off unless enabled. Enabling it requires intraday.active_time_ranges, because that is the session open the lead counts back from. When infra_timed_scaling is enabled, lead_seconds must not exceed start_time_buffer in seconds minus 300, so the pod is running before the warm-up starts.
      - `enabled` boolean: Whether this index seeds a price floor before the open.
      - `lead_seconds` integer: How many seconds before the first active tick the warm-up may start. The attempt window ends halfway through that lead.
    - `range_prefetch` RangePrefetch: Ranged catch-up for a real-time index. Omitted, or enabled false, keeps the single-tick summaries read. There is no lag wait and no minimum tick age.
      - `enabled` boolean: When false, or when range_prefetch is omitted, every tick uses the single-tick summaries read. When true, two or more queued ticks are one ranged read immediately. There is no wait for the lag to reach a threshold. A queue of one tick still uses the single-tick read.
      - `max_batch_ticks` integer: How many leading queued ticks one ranged read covers. Extra queued ticks wait for the next batch. This does not delay the first batch. The first batch starts as soon as a second tick is queued.
      - `max_span_seconds` number: Width, in seconds, of one chunk of the delta between the first and last tick in the batch. The read is split into chunks of this width and still executed. This is not a reason to skip the ranged read or to fall back to one tick at a time.
      - `read_timeout_seconds` number: Statement timeout, in seconds, for each chunk query. A timeout is a failed read for that attempt. It does not disable catch-up on later ticks.
    - `resource_cpu_request` integer: Minimum cpu resources requested in milliCPU
    - `resource_memory_request` integer: Minimum memory resources requested in mebibytes.
    - `security_id` string: Security ID of the intraday_index security where ticker data is served
    - `startup_failure_timeout` integer: Max number of seconds to wait for the first heartbeat from the rtindex pod before considering it a failed startup. By default it will wait 40sec
    - `summaries_read_replica` boolean: When true, the east RT tick reader uses the dedicated summaries read replica (db/db1/summaries_rt). When omitted or false, east keeps the summaryapi path. West ignores this flag.
    - `tick_delay` integer: Number of seconds to delay intraday calculation
    - `ticker_period` number: Duration between ticker datapoints. In seconds
    - `tzinfo` string, required: Timezone of intraday tick timestamp comparisons
  - `launch_date` string, required
  - `methodology` string
  - `month` integer
  - `name` string, required
  - `namespace` string, required
  - `notify_configuration` NotificationConfig
    - `email_list_uuid` string
    - `emails` string[]
    - `enabled` boolean
  - `plot_metric` string
  - `portfolio_allocation_display` boolean: whether or not portfolio_allocations are shown on the website. false by default
  - `portfolio_display` object
    - `fields` object[]
      - `display_name` string
      - `field_name` string
  - `portfolio_handler_id` string
  - `rebal_freq` 'Annual' | 'Daily' | 'Monthly' | 'Quarterly' | 'Semi-Annual' | 'Weekly' | 'Bi-Monthly' | 'Intraday' | 'None'
  - `related` Related[]
    - `default_display` boolean
    - `id` string, required
    - `metric` string
    - `name` string, required
    - `type` 'security' | 'index', required
  - `run_configuration` RunConfig
    - `airflow_config` AirflowConfig
      - `affinity_match_expression_key` string: the affinity to use in airflow
      - `dag` object: use this to set kwargs for the dag
      - `description` string: A short description related with the generated runner
      - `env` object: use this to set ENV variables in the pod
      - `pod` object: use this to set kwargs for the pod
      - `s3_location` S3Bucket
        - `bucket` string, required
        - `path` string
      - `subpods` SubPod[]
        - `arguments` array[]
          - string[]
        - `command` string, required
        - `env_vars` array[]
          - string[]
        - `pod_kwargs` object
          - `name` string
        - `pod_type` string, required
        - `uuid` string, required
    - `alert_priority` 'P1' | 'P2' | 'P3' | 'P4' | 'P5'
    - `command` string
    - `command_arguments` array[]
      - string[]
    - `day_chunk_size` integer: if set to a number, the index run will be split into chunks of this number of days
    - `dqms` DqmsConfig
      - `enabled` boolean: If true, force-enables DQMS validation for this index
    - `holiday_calendar` union
      - FlatCalendarSchema
        - `calendar_identifiers` string[]
        - `condition` 'any' | 'all' | 'custom'
        - `holidays_to_add` string[]
        - `holidays_to_remove` string[]
        - `swaps_monitor_codes` string[]
        - `weekmask` string[]: weekmask of valid business days
      - NestedCalendarSchema
        - `children` union[], required
          - union
            - CalendarIdentifiers
              - …
            - HolidaysToAdd
              - …
            - NestedCalendarSchema (recursive)
        - `operator` 'union' | 'intersection' | 'difference', required
        - `weekmask` string[]
    - `index_report_uuids` string[]
    - `index_reports` union
      - string[]
      - IndexReport[]
        - `dissemination_destinations` DisseminationDestinations
          - `email_dissapi_configs` object[]
            - `bcc_list` string[]
            - `cc_list` string[]
            - `content` string
            - `email_list` string[]
            - `file_keys` string[]
            - `recipient_list` string[], required
            - `subject` string, required
          - `s3_dissapi_configs` object[]
            - `bucket` string, required
            - `file_keys` string[], required
            - `key_prefix` string, required
          - `sftp_dissapi_configs` object[]
            - `file_keys` string[], required
            - `sftp_ids` string[], required
        - `program_args` object
        - `task_id` string
        - `uuid` string, required
    - `job_enabled` boolean, required
    - `num_days_to_load` integer, required
    - `pod_image_and_tag` string: overrides the image
    - `schedule` Schedule, required
      - `business_days_prior` integer
      - `event_driven` boolean: if true, there will be no defined schedule for the DAG (as in you could have a created DAG that won't run unless triggered manually)
      - `holiday_calendar` object
        - `cal_type` string
        - `mic` string
      - `retries` integer, required
      - `retry_interval_min` integer, required
      - `schedule_cron` string
      - `schedule_start` string, required
      - `timeout_delta` string
      - `triggers` string[]: the dataset trigger to which the dag subscribes to. This is a list of trigger(s)
    - `state_key` string: ID to use when storing or reading the state of an instance of a dissapi object.
    - `tzinfo` string
  - `run_configurations` RunConfigLabel[]
    - `airflow_config` AirflowConfig
      - `affinity_match_expression_key` string: the affinity to use in airflow
      - `dag` object: use this to set kwargs for the dag
      - `description` string: A short description related with the generated runner
      - `env` object: use this to set ENV variables in the pod
      - `pod` object: use this to set kwargs for the pod
      - `s3_location` S3Bucket
        - `bucket` string, required
        - `path` string
      - `subpods` SubPod[]
        - `arguments` array[]
          - string[]
        - `command` string, required
        - `env_vars` array[]
          - string[]
        - `pod_kwargs` object
          - `name` string
        - `pod_type` string, required
        - `uuid` string, required
    - `alert_priority` 'P1' | 'P2' | 'P3' | 'P4' | 'P5'
    - `command` string
    - `command_arguments` array[]
      - string[]
    - `day_chunk_size` integer: if set to a number, the index run will be split into chunks of this number of days
    - `dqms` DqmsConfig
      - `enabled` boolean: If true, force-enables DQMS validation for this index
    - `holiday_calendar` union
      - FlatCalendarSchema
        - `calendar_identifiers` string[]
        - `condition` 'any' | 'all' | 'custom'
        - `holidays_to_add` string[]
        - `holidays_to_remove` string[]
        - `swaps_monitor_codes` string[]
        - `weekmask` string[]: weekmask of valid business days
      - NestedCalendarSchema
        - `children` union[], required
          - union
            - CalendarIdentifiers
              - …
            - HolidaysToAdd
              - …
            - NestedCalendarSchema (recursive)
        - `operator` 'union' | 'intersection' | 'difference', required
        - `weekmask` string[]
    - `index_report_uuids` string[]
    - `index_reports` union
      - string[]
      - IndexReport[]
        - `dissemination_destinations` DisseminationDestinations
          - `email_dissapi_configs` object[]
            - `bcc_list` string[]
            - `cc_list` string[]
            - `content` string
            - `email_list` string[]
            - `file_keys` string[]
            - `recipient_list` string[], required
            - `subject` string, required
          - `s3_dissapi_configs` object[]
            - `bucket` string, required
            - `file_keys` string[], required
            - `key_prefix` string, required
          - `sftp_dissapi_configs` object[]
            - `file_keys` string[], required
            - `sftp_ids` string[], required
        - `program_args` object
        - `task_id` string
        - `uuid` string, required
    - `job_enabled` boolean, required
    - `num_days_to_load` integer, required
    - `pod_image_and_tag` string: overrides the image
    - `schedule` Schedule, required
      - `business_days_prior` integer
      - `event_driven` boolean: if true, there will be no defined schedule for the DAG (as in you could have a created DAG that won't run unless triggered manually)
      - `holiday_calendar` object
        - `cal_type` string
        - `mic` string
      - `retries` integer, required
      - `retry_interval_min` integer, required
      - `schedule_cron` string
      - `schedule_start` string, required
      - `timeout_delta` string
      - `triggers` string[]: the dataset trigger to which the dag subscribes to. This is a list of trigger(s)
    - `state_key` string: ID to use when storing or reading the state of an instance of a dissapi object.
    - `tzinfo` string
    - `label` string, required: unique label of this rc
  - `sales_force_deal_id` string: SalesForce Deal ID
  - `spec` IndexSpec
    - `index_class_args` object
    - `index_class_code` string, required
    - `index_variables` object: TODO
    - `version` integer
  - `stage` 'prod' | 'test' | 'development' | 'backtest' | 'inqubator', required
  - `tags` string
  - `title` string, required
  - `webpage` Webpage
    - `custom_charts` CustomCharts[]
      - `chart_type` 'line' | 'spline' | 'area' | 'bar' | 'column'
      - `compare_mode` 'absolute' | 'percent'
      - `constructor_type` 'chart' | 'stockChart'
      - `data` object[]
        - `array_field` string, required
        - `key_field` string, required
        - `url` string, required
        - `values` object[], required
          - `display_name` string, required
          - `path` string, required
      - `name` string, required
      - `size` number
      - `xlabel` string, required
      - `ylabel` string, required
    - `visible` boolean
  - `weighting_method` 'Other' | 'Equal'
  - `id` string, required
  - `status` Status, required
    - `created_at` string
    - `created_by` string
    - `last_modified` string, required
    - `last_modified_by` string
    - `locked_after` string, date-time: 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.

## Other responses

- `403`: not authorized to perform this operation
- `404`: index does not exist

---

[API](https://skmtc.dev/merqube/apis/merqube-api.md) - [All operations](https://skmtc.dev/merqube/apis/merqube-api/llms.txt) - [OpenAPI document](https://skmtc.dev/merqube/apis/merqube-api/revisions/20f47ca36587?raw)
