components:
  parameters:
    ActionID:
      description: ID of an Action.
      in: path
      name: actionid
      required: true
      schema:
        format: mongo-object-id
        type: string
    AnnotationID:
      description: ID of a annotation.
      in: path
      name: annotationid
      required: true
      schema:
        format: mongo-object-id
        type: string
    AuthorizationHeader:
      description: Access token provided by the user (obtained from a known identity
        provider).
      in: header
      name: Authorization
      required: true
      schema:
        pattern: ^Bearer .+
        type: string
    DashboardID:
      description: ID of a dashboard.
      in: path
      name: dashboardid
      required: true
      schema:
        format: mongo-object-id
        type: string
    DashboardResource:
      description: ID or the resource name of a dashvboard. The resource name format
        is module.dashboardname.
      in: path
      name: dashboardresource
      required: true
      schema:
        type: string
    DashboardResourceName:
      description: The resource name of a dashvboard. The resource name format is
        module.dashboardname.
      in: path
      name: dashboardresourcename
      required: true
      schema:
        type: string
    DatasetID:
      description: ID of a Dataset.
      in: path
      name: datasetid
      required: true
      schema:
        format: mongo-object-id
        type: string
    DatasetResource:
      description: ID of a Dataset or the resource name of a dataset. For the default
        module, the resource name format is datasetName. Otherwise, the resource name
        format is module.datasetName.
      in: path
      name: datasetresource
      required: true
      schema:
        type: string
    DatasetResourceName:
      description: The resource name of a dataset. For the default module, the resource
        name format is datasetName. Otherwise, the resource name format is module.datasetName.
      in: path
      name: datasetresourcename
      required: true
      schema:
        type: string
    FieldID:
      description: ID of a Field.
      in: path
      name: fieldid
      required: true
      schema:
        format: mongo-object-id
        type: string
    JobResource:
      description: Sid of a Job Dataset or ID of a Dataset or the resource name of
        a dataset. For the default module, the resource name format is datasetName.
        Otherwise, the resource name format is module.datasetName.
      in: path
      name: jobresource
      required: true
      schema:
        type: string
    RelationshipID:
      description: ID of a relationship.
      in: path
      name: relationshipid
      required: true
      schema:
        format: mongo-object-id
        type: string
    RuleID:
      description: ID of a Field.
      in: path
      name: ruleid
      required: true
      schema:
        format: mongo-object-id
        type: string
    RuleResource:
      description: The ID or resource name of a rule. For the default module, the
        resource name format is ruleName. Otherwise, the resource name format is module.ruleName.
      in: path
      name: ruleresource
      required: true
      schema:
        type: string
    RuleResourceName:
      description: The resource name of a rule. For the default module, the resource
        name format is ruleName. Otherwise, the resource name format is module.ruleName.
      in: path
      name: ruleresourcename
      required: true
      schema:
        type: string
    Sid:
      description: Sid of a Job Dataset.
      in: path
      name: sid
      required: true
      schema:
        type: string
    Tenant:
      description: The tenant name.
      in: path
      name: tenant
      required: true
      schema:
        type: string
  schemas:
    Action:
      description: A complete action as rendered in POST, PATCH, and GET responses.
      discriminator:
        mapping:
          ALIAS: '#/components/schemas/AliasAction'
          AUTOKV: '#/components/schemas/AutoKVAction'
          EVAL: '#/components/schemas/EvalAction'
          LOOKUP: '#/components/schemas/LookupAction'
          REGEX: '#/components/schemas/RegexAction'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/AliasAction'
      - $ref: '#/components/schemas/AutoKVAction'
      - $ref: '#/components/schemas/EvalAction'
      - $ref: '#/components/schemas/LookupAction'
      - $ref: '#/components/schemas/RegexAction'
    ActionCommon:
      description: Properties common across all action kinds as rendered in POST,
        PATCH, and GET responses and alos for creating a new action using a POST request.
      properties:
        id:
          description: A unique action ID.
          example: 5bc3c0cdfee0d854a4188132
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        ruleid:
          description: The rule that this action is part of.
          example: 5bc1a7a0fee0d854a418812e
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        version:
          description: The catalog version.
          minimum: 1
          type: integer
      type: object
    ActionPATCH:
      description: Property values to be set in an existing action using a PATCH request.
      oneOf:
      - $ref: '#/components/schemas/AliasActionPATCH'
      - $ref: '#/components/schemas/AutoKVActionPATCH'
      - $ref: '#/components/schemas/EvalActionPATCH'
      - $ref: '#/components/schemas/LookupActionPATCH'
      - $ref: '#/components/schemas/RegexActionPATCH'
      type: object
    ActionPATCHCommon:
      description: Property values common across action kinds for setting existing
        actions using a PATCH request.
      properties:
        owner:
          description: The name of the user who owns this action. This value is obtained
            from the bearer token if not present.
          example: janedoe
          type: string
        version:
          description: The catalog version.
          minimum: 1
          type: integer
      type: object
    ActionPOST:
      description: Initial property values for creating a new action using a POST
        request.
      discriminator:
        mapping:
          ALIAS: '#/components/schemas/AliasActionPOST'
          AUTOKV: '#/components/schemas/AutoKVActionPOST'
          EVAL: '#/components/schemas/EvalActionPOST'
          LOOKUP: '#/components/schemas/LookupActionPOST'
          REGEX: '#/components/schemas/RegexActionPOST'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/AliasActionPOST'
      - $ref: '#/components/schemas/AutoKVActionPOST'
      - $ref: '#/components/schemas/EvalActionPOST'
      - $ref: '#/components/schemas/LookupActionPOST'
      - $ref: '#/components/schemas/RegexActionPOST'
      type: object
    AliasAction:
      allOf:
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/AliasActionProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      description: A complete alias action as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - field
      - alias
      - id
      - ruleid
      type: object
    AliasActionKind:
      description: The alias action kind.
      enum:
      - ALIAS
      type: string
    AliasActionPATCH:
      allOf:
      - $ref: '#/components/schemas/ActionPATCHCommon'
      - $ref: '#/components/schemas/AliasActionProperties'
      description: Property values for setting existing alias actions using a PATCH
        request.
    AliasActionPOST:
      allOf:
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/AliasActionProperties'
      description: Initial property values for creating a new alias action using a
        POST request.
      required:
      - kind
      - field
      - alias
      type: object
    AliasActionProperties:
      description: Properties of alias actions which may be read, set, and changed
        through the API. Implementation detail of ActionPOST, ActionPOST, and Action,
        do not use directly.
      properties:
        alias:
          description: The alias name.
          example: newFieldName
          type: string
        field:
          description: The name of the field to be aliased.
          example: existingFieldName
          type: string
        kind:
          $ref: '#/components/schemas/AliasActionKind'
      type: object
    Annotation:
      additionalProperties:
        type: string
      allOf:
      - $ref: '#/components/schemas/AnnotationsProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      - properties:
          id:
            description: A unique annotation ID.
            example: 5bc1a6fefee0d854a4188125
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        type: object
      description: A complete annotation as rendered in POST, PATCH, and GET responses.
        Key:Value pairs in addition to the defined properties will become annotation
        tags
      required:
      - id
      - annotationtypeid
      - owner
      - created
      - modified
      - createdby
      - modifiedby
      - version
      - properties
      type: object
    AnnotationPOST:
      additionalProperties:
        type: string
      allOf:
      - $ref: '#/components/schemas/AnnotationsProperties'
      - $ref: '#/components/schemas/AnnotationTypeResourceName'
      - properties:
          id:
            description: A unique annotation ID. If not specified, an auto generated
              ID is created.
            example: 5bc1a6fefee0d854a4188125
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        type: object
      description: The properties required to create a new annotation using a POST
        request. Key:Value pairs in addition to the defined properties will become
        annotation tags
      required:
      - annotationtypeid
      type: object
    AnnotationTypeResourceName:
      description: The resource name of an AnnotationType. For the default module,
        the resource name format is annotationTypeName. Otherwise, the resource name
        format is module.annotationTypeName.
      properties:
        annotationtyperesourcename:
          description: Resource name of the annotation type
          example: catalog.favorite
          type: string
      type: string
    AnnotationsProperties:
      description: Properties of annotations which are read through the API.
      properties:
        annotationtypeid:
          description: The annotation type ID.
          example: 5bc1a6fefee0d854a4188125
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        dashboardid:
          description: The dashboard ID.
          example: 5bc1a6fefee0d854a4188125
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        datasetid:
          description: The dataset ID. Null if not annotating a dataset.
          example: 5bc1a6fefee0d854a4188125
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        fieldid:
          description: The field ID. Null if not annotating a field.
          example: 5bc1a6fefee0d854a4188125
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        relationshipid:
          description: The relationship ID. Null if not annotating a relationship.
          example: 5bc1a6fefee0d854a4188125
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
      type: object
    AppClientIDProperties:
      description: Appclientidcreatedby, appclientidmodifiedby app clientid properties
        for inclusion in othert objects.
      properties:
        appclientidcreatedby:
          description: AppClinetId of the creator app of the dataset.
          type: string
        appclientidmodifiedby:
          description: AppClinetId of the modifier app of the dataset.
          type: string
      type: object
    AutoKVAction:
      allOf:
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/AutoKVActionProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      description: A complete autokv action as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - mode
      - id
      - ruleid
      type: object
    AutoKVActionKind:
      description: The autokv action kind.
      enum:
      - AUTOKV
      type: string
    AutoKVActionPATCH:
      allOf:
      - $ref: '#/components/schemas/ActionPATCHCommon'
      - $ref: '#/components/schemas/AutoKVActionProperties'
      description: Property values for setting existing autokv actions using a PATCH
        request.
    AutoKVActionPOST:
      allOf:
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/AutoKVActionProperties'
      description: Initial property values for creating a new autokv action using
        a POST request.
      required:
      - kind
      - mode
      type: object
    AutoKVActionProperties:
      description: Properties of auto kv actions which may be read, set, and changed
        through the API. Implementation detail of ActionPOST, ActionPOST, and Action,
        do not use directly.
      properties:
        kind:
          $ref: '#/components/schemas/AutoKVActionKind'
        mode:
          description: The autokv action mode.
          type: string
      type: object
    CatalogDataset:
      allOf:
      - $ref: '#/components/schemas/CatalogDatasetProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete catalog dataset as rendered in POST, PATCH, and GET
        responses.
      required:
      - kind
      type: object
    CatalogDatasetKind:
      description: The dataset kind.
      enum:
      - catalog
      type: string
    CatalogDatasetProperties:
      description: Properties of catalog datasets which can be read, set, and changed
        through the API.
      properties:
        kind:
          $ref: '#/components/schemas/CatalogDatasetKind'
        url:
          description: Internal use only.
          type: string
    Dashboard:
      allOf:
      - properties:
          id:
            description: A unique dashboard ID. Random ID used if not provided.
            example: 5bbf6d876d059d0b9ea8da31
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        type: object
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DashboardMutable'
      - $ref: '#/components/schemas/AppClientIDProperties'
      description: A complete dashboard as rendered in POST, PATCH, and GET responses.
      required:
      - definition
      - id
      - module
      - name
      type: object
    DashboardMutable:
      description: A list of the mutable dashboard fields.
      properties:
        definition:
          description: The JSON dashboard definition.
          example: '{ "dataSources": {}, "inputs": {}, "layout": {}, "title": "Title
            for dashboard", "description": "Description for dashboard", "visualizations":
            {} }'
          type: string
        isactive:
          description: Whether the dashboard is active or not.
          example: true
          type: boolean
        module:
          description: The module that contains the dashboard.
          example: nameofmodule
          maxLength: 100
          type: string
        name:
          description: The dashboard name. Dashboard names must be unique within each
            tenant.
          example: nameofdashboard
          maxLength: 100
          type: string
        version:
          description: The version of the dashboard.
          example: 1
          minimum: 1
          type: integer
      type: object
    DashboardPATCH:
      allOf:
      - $ref: '#/components/schemas/DashboardMutable'
      description: Values for updating a dashboard using a PATCH request.
      type: object
    DashboardPOST:
      allOf:
      - properties:
          id:
            description: A unique dashboard ID. Random ID used if not provided.
            example: 5bbf6d876d059d0b9ea8da31
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        type: object
      - $ref: '#/components/schemas/DashboardMutable'
      description: Initial values for creating a new dashboard using a POST request.
      required:
      - definition
      - module
      - name
      type: object
    Dataset:
      description: A complete dataset as rendered in POST, PATCH responses.
      discriminator:
        mapping:
          federated: '#/components/schemas/FederatedDataset'
          import: '#/components/schemas/ImportDataset'
          index: '#/components/schemas/IndexDataset'
          kvcollection: '#/components/schemas/KVCollectionDataset'
          lookup: '#/components/schemas/LookupDataset'
          metric: '#/components/schemas/MetricDataset'
          view: '#/components/schemas/ViewDataset'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/LookupDataset'
      - $ref: '#/components/schemas/IndexDataset'
      - $ref: '#/components/schemas/ViewDataset'
      - $ref: '#/components/schemas/FederatedDataset'
      - $ref: '#/components/schemas/ImportDataset'
      - $ref: '#/components/schemas/MetricDataset'
      - $ref: '#/components/schemas/KVCollectionDataset'
    DatasetCommon:
      description: Properties that are common across all Dataset kinds rendered in
        POST, PATCH, and GET responses.
      properties:
        appclientidcreatedby:
          description: AppClinetId of the creator app of the dataset.
          type: string
        appclientidmodifiedby:
          description: AppClinetId of the modifier app of the dataset.
          type: string
        description:
          description: Detailed description of the dataset.
          type: string
        id:
          description: A unique dataset ID.
          example: 5bbf6d876d059d0b9ea8da3e
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        internalname:
          description: The dataset name qualified by the module name, primarily used
            to distinguish between index/metric versus other datasets. Index/metric
            datasets have a distinct underscore separator (_____) between name and
            module. Internal use only.
          example: nameOfModule_____nameOfDataset
          readOnly: true
          type: string
        module:
          description: The name of the module that contains the dataset.
          example: nameOfModule
          maxLength: 100
          type: string
        name:
          description: The dataset name. Dataset names must be unique within each
            module.
          example: nameOfDataset
          maxLength: 100
          type: string
        resourcename:
          description: The dataset name qualified by the module name.
          example: nameOfModule.nameOfDataset
          maxLength: 201
          type: string
        summary:
          description: Summary of the dataset's purpose.
          type: string
        title:
          description: The title of the dataset.  Does not have to be unique.
          example: titleOfDataset
          type: string
        version:
          description: The catalog version.
          minimum: 1
          type: integer
      required:
      - id
      - module
      - name
      - resourcename
      type: object
    DatasetGet:
      description: A complete dataset as rendered in GET responses.
      discriminator:
        mapping:
          catalog: '#/components/schemas/CatalogDataset'
          federated: '#/components/schemas/FederatedDataset'
          import: '#/components/schemas/ImportDataset'
          index: '#/components/schemas/IndexDataset'
          job: '#/components/schemas/JobDatasetGET'
          kvcollection: '#/components/schemas/KVCollectionDataset'
          lookup: '#/components/schemas/LookupDataset'
          metric: '#/components/schemas/MetricDataset'
          splv1sink: '#/components/schemas/Splv1sinkDataset'
          view: '#/components/schemas/ViewDataset'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/LookupDataset'
      - $ref: '#/components/schemas/IndexDataset'
      - $ref: '#/components/schemas/ViewDataset'
      - $ref: '#/components/schemas/FederatedDataset'
      - $ref: '#/components/schemas/ImportDataset'
      - $ref: '#/components/schemas/JobDatasetGET'
      - $ref: '#/components/schemas/MetricDataset'
      - $ref: '#/components/schemas/KVCollectionDataset'
      - $ref: '#/components/schemas/CatalogDataset'
      - $ref: '#/components/schemas/Splv1sinkDataset'
    DatasetImportedBy:
      properties:
        module:
          description: The module that is importing the dataset.
          example: nameOfModule
          maxLength: 100
          type: string
        name:
          description: The dataset name.
          example: nameOfDataset
          maxLength: 100
          type: string
        owner:
          description: The dataset owner.
          example: janedoe
          maxLength: 24
          type: string
      required:
      - module
      - owner
      type: object
    DatasetPATCH:
      description: Property values to be set in an existing dataset using a PATCH
        request.
      oneOf:
      - $ref: '#/components/schemas/LookupDatasetPATCH'
      - $ref: '#/components/schemas/IndexDatasetPATCH'
      - $ref: '#/components/schemas/ViewDatasetPATCH'
      - $ref: '#/components/schemas/FederatedDatasetPATCH'
      - $ref: '#/components/schemas/ImportDatasetPATCH'
      - $ref: '#/components/schemas/MetricDatasetPATCH'
      - $ref: '#/components/schemas/KVCollectionDatasetPATCH'
    DatasetPATCHCommon:
      description: Properties that are common across all Dataset kinds to be set in
        an existing dataset using a PATCH request.
      properties:
        module:
          description: The name of module to reassign dataset into.
          example: nameOfModule
          maxLength: 100
          type: string
        name:
          description: The dataset name. Dataset names must be unique within each
            module.
          example: nameOfDataset
          maxLength: 100
          type: string
        owner:
          description: The name of the dataset owner. This value is obtained from
            the bearer token.
          example: johndoe
          maxLength: 24
          type: string
      type: object
    DatasetPOST:
      description: Initial property values for creating a new action using a POST
        request.
      discriminator:
        mapping:
          federated: '#/components/schemas/FederatedDatasetPOST'
          import: '#/components/schemas/ImportDatasetPOST'
          index: '#/components/schemas/IndexDatasetPOST'
          kvcollection: '#/components/schemas/KVCollectionDatasetPOST'
          lookup: '#/components/schemas/LookupDatasetPOST'
          metric: '#/components/schemas/MetricDatasetPOST'
          view: '#/components/schemas/ViewDatasetPOST'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/LookupDatasetPOST'
      - $ref: '#/components/schemas/IndexDatasetPOST'
      - $ref: '#/components/schemas/ViewDatasetPOST'
      - $ref: '#/components/schemas/FederatedDatasetPOST'
      - $ref: '#/components/schemas/ImportDatasetPOST'
      - $ref: '#/components/schemas/MetricDatasetPOST'
      - $ref: '#/components/schemas/KVCollectionDatasetPOST'
    DatasetPOSTCommon:
      description: Properties that are common across all Dataset kinds for creating
        a new dataset using a POST request.
      properties:
        fields:
          description: The fields to be associated with this dataset.
          items:
            $ref: '#/components/schemas/FieldPOST'
          type: array
        id:
          description: A unique dataset ID. Random ID used if not provided.
          example: 5bc3c0cdfee0d854a4188132
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        module:
          description: The name of the module to create the new dataset in.
          example: nameOfModule
          maxLength: 100
          type: string
        name:
          description: The dataset name. Dataset names must be unique within each
            module.
          example: nameOfDataset
          maxLength: 100
          type: string
      required:
      - name
      type: object
    DateMetadataProperties:
      description: Created and Modified date-time properties for inclusion in other
        objects.
      properties:
        created:
          description: The date and time object was created.
          example: "2018-10-14 10:18:53.000417"
          pattern: '[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9].[0-9]{6}'
          readOnly: true
          type: string
        modified:
          description: The date and time object was modified.
          example: "2018-10-11 07:56:35.000770"
          pattern: '[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9].[0-9]{6}'
          readOnly: true
          type: string
      required:
      - created
      - modified
      type: object
    EvalAction:
      allOf:
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/EvalActionProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      description: A complete eval action as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - field
      - expression
      - id
      - ruleid
      type: object
    EvalActionKind:
      description: The eval action kind.
      enum:
      - EVAL
      type: string
    EvalActionPATCH:
      allOf:
      - $ref: '#/components/schemas/ActionPATCHCommon'
      - $ref: '#/components/schemas/EvalActionProperties'
      description: Property values for setting existing eval actions using a PATCH
        request.
    EvalActionPOST:
      allOf:
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/EvalActionProperties'
      description: Initial property values for creating a new eval action using a
        POST request.
      required:
      - kind
      - field
      - expression
      type: object
    EvalActionProperties:
      description: Properties of eval actions which may be read, set, and changed
        through the API. Implementation detail of ActionPOST, ActionPOST, and Action,
        do not use directly.
      properties:
        expression:
          description: The EVAL expression that calculates the field.
          type: string
        field:
          description: The name of the field that is added or modified by the EVAL
            expression.
          example: nameOfNewField
          type: string
        kind:
          $ref: '#/components/schemas/EvalActionKind'
      type: object
    FederatedDataset:
      allOf:
      - $ref: '#/components/schemas/FederatedDatasetProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete federated dataset as rendered in POST, PATCH, and GET
        responses.
      required:
      - kind
      - federatedConnection
      - federatedDataset
      - federatedDatasetKind
      type: object
    FederatedDatasetKind:
      description: The dataset kind.
      enum:
      - federated
      type: string
    FederatedDatasetPATCH:
      allOf:
      - $ref: '#/components/schemas/FederatedDatasetProperties'
      - $ref: '#/components/schemas/DatasetPATCHCommon'
      description: Property values to be set in an existing federated dataset using
        a PATCH request.
    FederatedDatasetPOST:
      allOf:
      - $ref: '#/components/schemas/FederatedDatasetProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Initial property values for creating a new federated dataset using
        a POST request.
      required:
      - kind
      - federatedConnection
      - federatedDataset
      - federatedDatasetKind
      type: object
    FederatedDatasetProperties:
      description: Properties of job datasets which may be read, set, and changed
        through the API. Implementation detail of DatasetPOST, DatasetPATCH, and Dataset,
        do not use directly.
      properties:
        federatedConnection:
          description: Connection information to connect to remote federated connection.
          type: string
        federatedDataset:
          description: Dataset information in the remote instance.
          type: string
        federatedDatasetKind:
          description: Dataset kind information in the remote instance.
          type: string
        kind:
          $ref: '#/components/schemas/FederatedDatasetKind'
      type: object
    Field:
      allOf:
      - properties:
          datasetid:
            description: The dataset that the field is part of.
            example: 5bc1a6fefee0d854a4188125
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
          id:
            description: The unique ID of this field.
            example: 5bc1a7a0fee0d854a418812e
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        type: object
      - $ref: '#/components/schemas/FieldProperties'
      - $ref: '#/components/schemas/DateMetadataProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      description: A complete field as rendered in POST, PATCH, and GET responses.
      required:
      - id
      - datasetid
      - name
      - datatype
      - fieldtype
      - prevalence
      - created
      - modified
      type: object
    FieldDataType:
      description: The type of data in the field. Must be one of the valid values.
      enum:
      - DATE
      - NUMBER
      - OBJECT_ID
      - STRING
      - UNKNOWN
      type: string
    FieldPATCH:
      allOf:
      - $ref: '#/components/schemas/FieldProperties'
      description: Property values to be set in an existing field using a PATCH request.
      type: object
    FieldPOST:
      allOf:
      - $ref: '#/components/schemas/FieldProperties'
      description: Initial property values for creating a new field using a POST request.
      required:
      - name
      type: object
    FieldPrevalence:
      description: How frequent the field appears in the dataset. Must be one of the
        valid values.
      enum:
      - ALL
      - SOME
      - UNKNOWN
      type: string
    FieldProperties:
      description: Properties of fields which can be read, set, and changed through
        the API. Implementation detail of FieldPOST, FieldPATCH, and Field, do not
        use directly.
      properties:
        datatype:
          $ref: '#/components/schemas/FieldDataType'
        description:
          description: The field description.
          example: Count of all the users in the request
          type: string
        fieldtype:
          $ref: '#/components/schemas/FieldType'
        indexed:
          description: Whether or not the field has been indexed.
          type: boolean
        name:
          description: The field name.
          example: nameOfField
          maxLength: 100
          type: string
        prevalence:
          $ref: '#/components/schemas/FieldPrevalence'
        summary:
          description: The field summary.
          example: Count of the users
          type: string
        title:
          description: The field title.
          example: User Count
          type: string
    FieldType:
      description: The type of field. Must be one of the valid values.
      enum:
      - DIMENSION
      - MEASURE
      - UNKNOWN
      type: string
    ImportDataset:
      allOf:
      - $ref: '#/components/schemas/ImportDatasetByNameProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete import dataset as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - sourceName
      - sourceModule
      type: object
    ImportDatasetByIdPOST:
      allOf:
      - $ref: '#/components/schemas/ImportDatasetByIdProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Initial property values for creating a new import dataset by sourceId
        using a POST request.
      required:
      - kind
      - sourceId
      type: object
    ImportDatasetByIdProperties:
      description: Initial property values for creating a new import dataset by sourceId
        using a POST request.
      properties:
        kind:
          $ref: '#/components/schemas/ImportDatasetKind'
        sourceId:
          description: The dataset ID being imported.
          example: 5bbf6d876d059d0b9ea8da3e
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
      type: object
    ImportDatasetByNamePOST:
      allOf:
      - $ref: '#/components/schemas/ImportDatasetByNameProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Initial property values for creating a new import dataset by sourceName
        and sourceModule using a POST request.
      required:
      - kind
      - sourceModule
      - sourceName
      type: object
    ImportDatasetByNameProperties:
      description: Properties of import datasets which may be read, set, and changed
        through the API. Implementation detail of DatasetPOST, DatasetPATCH, and Dataset,
        do not use directly.
      properties:
        kind:
          $ref: '#/components/schemas/ImportDatasetKind'
        sourceModule:
          description: The dataset module being imported.
          example: nameOfModule
          type: string
        sourceName:
          description: The dataset name being imported.
          example: nameOfIndex
          type: string
      type: object
    ImportDatasetKind:
      description: The dataset kind.
      enum:
      - import
      type: string
    ImportDatasetPATCH:
      allOf:
      - $ref: '#/components/schemas/DatasetPATCHCommon'
      description: Property values to be set in an existing import dataset using a
        PATCH request.
    ImportDatasetPOST:
      description: Initial property values for creating a new import dataset using
        a POST request.
      oneOf:
      - $ref: '#/components/schemas/ImportDatasetByIdPOST'
      - $ref: '#/components/schemas/ImportDatasetByNamePOST'
    ImportDatasetProperties:
      description: Properties of import datasets which may be read, set, and changed
        through the API. Implementation detail of DatasetPOST, DatasetPATCH, and Dataset,
        do not use directly.
      oneOf:
      - properties:
          sourceModule:
            description: The dataset module being imported.
            example: nameOfModule
            type: string
          sourceName:
            description: The dataset name being imported.
            example: nameOfIndex
            type: string
        required:
        - sourceName
        - sourceModule
        type: object
      - properties:
          sourceId:
            description: The dataset ID being imported.
            example: 5bbf6d876d059d0b9ea8da3e
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        required:
        - sourceId
        type: object
      properties:
        kind:
          enum:
          - import
          type: string
      type: object
    IndexDataset:
      allOf:
      - $ref: '#/components/schemas/IndexDatasetProperties'
      - $ref: '#/components/schemas/IndexDatasetReadOnlyProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete index dataset as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - disabled
      type: object
    IndexDatasetKind:
      description: The dataset kind.
      enum:
      - index
      type: string
    IndexDatasetPATCH:
      allOf:
      - $ref: '#/components/schemas/IndexDatasetProperties'
      - $ref: '#/components/schemas/DatasetPATCHCommon'
      description: Property values to be set in an existing index dataset using a
        PATCH request.
    IndexDatasetPOST:
      allOf:
      - $ref: '#/components/schemas/IndexDatasetProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Initial property values for creating a new index dataset using
        a POST request.
      required:
      - kind
      - disabled
      type: object
    IndexDatasetProperties:
      description: Properties of job datasets which may be read, set, and changed
        through the API. Implementation detail of DatasetPOST, DatasetPATCH, and Dataset,
        do not use directly.
      properties:
        disabled:
          description: Specifies whether or not the Splunk index is disabled.
          type: boolean
        frozenTimePeriodInSecs:
          description: The frozenTimePeriodInSecs to use for the index
          type: integer
        kind:
          $ref: '#/components/schemas/IndexDatasetKind'
      type: object
    IndexDatasetReadOnlyProperties:
      description: Properties of index datasets which can only be read through the
        API.
      properties:
        earliestEventTime:
          description: The timestamp, in seconds, of the earliest event. The timestamp
            is in UNIX time.
          type: string
        earliestIngestTime:
          description: The earliest index time for any of the events in this index.
          type: string
        kind:
          $ref: '#/components/schemas/IndexDatasetKind'
        latestEventTime:
          description: The timestamp, in seconds, of the latest event. The timestamp
            is in UNIX time.
          type: string
        latestIngestTime:
          description: The latest index time for any of the events in this index.
          type: string
        latestMetadataUpdateTime:
          description: The latest time that the index metadata was refreshed.
          type: string
        totalEventCount:
          description: The number of events in the index.
          format: int64
          type: integer
        totalSize:
          description: The raw size, in bytes, of the uncompressed data in the indexers.
          format: int64
          type: integer
      type: object
    JobDataset:
      allOf:
      - $ref: '#/components/schemas/JobDatasetProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      - $ref: '#/components/schemas/JobDatasetInternalProperties'
      description: A complete job dataset as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - sid
      - query
      - sql
      - resolvedEarliest
      - resolvedLatest
      - dispatchTime
      - completionTime
      - deleteTime
      - parameters
      type: object
    JobDatasetEventSummaryAvailableStatus:
      description: Availability of event summary.
      enum:
      - true
      - false
      - UNKNOWN
      type: string
    JobDatasetFieldSummaryAvailableStatus:
      description: Availability of field summary.
      enum:
      - true
      - false
      - UNKNOWN
      type: string
    JobDatasetGET:
      allOf:
      - $ref: '#/components/schemas/JobDatasetProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Job dataset as rendered in POST response for dataset API endpoint.
      required:
      - kind
      - sid
      - query
      - sql
      - resolvedEarliest
      - resolvedLatest
      - dispatchTime
      - completionTime
      - deleteTime
      - parameters
      type: object
    JobDatasetInternalProperties:
      description: Properties of job datasets which internal use only.
      properties:
        leaseInfo:
          description: Stores the lease information for search jobs.
          type: string
        unresolvedTimeSpl:
          description: Search without the time range resolved, internal search service
            use only.
          type: string
    JobDatasetKind:
      description: The dataset kind.
      enum:
      - job
      type: string
    JobDatasetPATCH:
      allOf:
      - $ref: '#/components/schemas/JobDatasetProperties'
      - $ref: '#/components/schemas/JobDatasetInternalProperties'
      - $ref: '#/components/schemas/DatasetPATCHCommon'
      description: Property values to be set in an existing job dataset using a PATCH
        request.
    JobDatasetPOST:
      allOf:
      - $ref: '#/components/schemas/JobDatasetProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      - $ref: '#/components/schemas/JobDatasetInternalProperties'
      description: Initial property values for creating a new job dataset using a
        POST request.
      required:
      - kind
      - sid
      - query
      - sql
      - resolvedEarliest
      - resolvedLatest
      - dispatchTime
      - completionTime
      - deleteTime
      - parameters
      type: object
    JobDatasetProperties:
      description: Properties of job datasets which may be read, set, and changed
        through the API. Implementation detail of DatasetPOST, DatasetPATCH, and Dataset,
        do not use directly.
      properties:
        collectEventSummary:
          description: Was the event summary requested for this searhc job?
          type: boolean
        collectFieldSummary:
          description: Was the field summary requested for this searhc job?
          type: boolean
        collectTimeBuckets:
          description: Were the time bucketes requested for this searhc job?
          type: boolean
        completionTime:
          description: Time that the job was completed
          type: string
        deleteTime:
          description: The time the dataset will be available in S3.
          type: string
        dispatchTime:
          description: Time that the job was dispatched
          type: string
        enablePreview:
          description: Specifies whether a search is allowed to collect preview results
            during the runtime, internal search service use only.
          type: boolean
        executionTime:
          description: The runtime of the search in seconds.
          type: number
        extractAllFields:
          description: Should the search produce all fields (including those not explicity
            mentioned in the SPL)?
          type: boolean
        extractFields:
          description: The fields to extract. Valid values are all, none, or indexed.
          type: string
        hasSideEffects:
          description: Did the SPL query cause any side effects on a dataset?
          type: boolean
        kind:
          $ref: '#/components/schemas/JobDatasetKind'
        maxTime:
          description: The maximum number of seconds to run this search before finishing.
          type: integer
        messages:
          description: Array of json objects to store critical search job messages.
          items:
            type: object
          type: array
        parameters:
          description: Parameters for the search job, mainly earliest, latest, timezone,
            and relativeTimeAnchor.
          type: object
        parent:
          description: The parent's ID of the search job.
          type: string
        percentComplete:
          description: An estimate of how complete the search job is.
          type: integer
        query:
          description: The SPL query string for the search job.
          type: string
        resolvedEarliest:
          description: Resolved earliest time for the job
          type: string
        resolvedLatest:
          description: Resolved latest time for the job
          type: string
        resultsAvailable:
          description: The instantaneous number of results produced by the search
            job.
          type: integer
        searchHead:
          description: The search head that started this search job.
          type: string
        sid:
          description: The ID assigned to the search job.
          type: string
        spl:
          description: The SPLv2 version of the search job query string.
          type: string
        status:
          description: The current status of the search job.
          type: string
        timelineMetadata:
          description: Availability of timeline metadata artifacts.
          properties:
            auto:
              description: Availability of automatic timeline metadata artifacts.
              properties:
                eventSummaryAvailable:
                  $ref: '#/components/schemas/JobDatasetEventSummaryAvailableStatus'
                fieldSummaryAvailable:
                  $ref: '#/components/schemas/JobDatasetFieldSummaryAvailableStatus'
                timeBucketsAvailable:
                  $ref: '#/components/schemas/JobDatasetTimeBucketsAvailableStatus'
              type: object
          type: object
    JobDatasetTimeBucketsAvailableStatus:
      description: Availability of time buckets (histogram of events).
      enum:
      - true
      - false
      - UNKNOWN
      type: string
    KVCollectionDataset:
      allOf:
      - $ref: '#/components/schemas/KVCollectionDatasetProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete kvcollection dataset as rendered in POST, PATCH, and
        GET responses.
      required:
      - kind
      type: object
    KVCollectionDatasetKind:
      description: The dataset kind.
      enum:
      - kvcollection
      type: string
    KVCollectionDatasetPATCH:
      allOf:
      - $ref: '#/components/schemas/KVCollectionDatasetProperties'
      - $ref: '#/components/schemas/DatasetPATCHCommon'
      description: Property values to be set in an existing kvcollection dataset using
        a PATCH request.
    KVCollectionDatasetPOST:
      allOf:
      - $ref: '#/components/schemas/KVCollectionDatasetProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Initial property values for creating a new kvcollection dataset
        using a POST request.
      required:
      - kind
      type: object
    KVCollectionDatasetProperties:
      description: Properties of kvcollection datasets which may be read, set, and
        changed through the API. Implementation detail of DatasetPOST, DatasetPATCH,
        and Dataset, do not use directly.
      properties:
        kind:
          $ref: '#/components/schemas/KVCollectionDatasetKind'
      type: object
    LookupAction:
      allOf:
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/LookupActionProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      description: A complete lookup action as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - expression
      - id
      - ruleid
      type: object
    LookupActionKind:
      description: The lookup action kind.
      enum:
      - LOOKUP
      type: string
    LookupActionPATCH:
      allOf:
      - $ref: '#/components/schemas/ActionPATCHCommon'
      - $ref: '#/components/schemas/LookupActionProperties'
      description: Property values for setting existing lookup actions using a PATCH
        request.
    LookupActionPOST:
      allOf:
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/LookupActionProperties'
      description: Initial property values for creating a new lookup action using
        a POST request.
      required:
      - kind
      - expression
      type: object
    LookupActionProperties:
      description: Properties of lookup actions which may be read, set, and changed
        through the API. Implementation detail of ActionPOST, ActionPOST, and Action,
        do not use directly.
      properties:
        expression:
          description: The lookup body.
          type: string
        kind:
          $ref: '#/components/schemas/LookupActionKind'
      type: object
    LookupDataset:
      allOf:
      - $ref: '#/components/schemas/LookupDatasetProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete lookup dataset as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - externalKind
      - externalName
      type: object
    LookupDatasetExternalKind:
      description: The type of the external lookup.
      enum:
      - kvcollection
      type: string
    LookupDatasetKind:
      description: The dataset kind.
      enum:
      - lookup
      type: string
    LookupDatasetPATCH:
      allOf:
      - $ref: '#/components/schemas/LookupDatasetProperties'
      - $ref: '#/components/schemas/DatasetPATCHCommon'
      description: Property values to be set in an existing lookup dataset using a
        PATCH request.
    LookupDatasetPOST:
      allOf:
      - $ref: '#/components/schemas/LookupDatasetProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Initial property values for creating a new lookup dataset using
        a POST request.
      required:
      - kind
      - externalKind
      - externalName
      type: object
    LookupDatasetProperties:
      description: Properties of lookup datasets which may be read, set, and changed
        through the API. Implementation detail of DatasetPOST, DatasetPATCH, and Dataset,
        do not use directly.
      properties:
        caseSensitiveMatch:
          default: true
          description: Match case-sensitively against the lookup.
          type: boolean
        externalKind:
          $ref: '#/components/schemas/LookupDatasetExternalKind'
        externalName:
          description: The name of the external lookup.
          example: nameOfKvCollection
          type: string
        filter:
          description: A query that filters results out of the lookup before those
            results are returned.
          type: string
        kind:
          $ref: '#/components/schemas/LookupDatasetKind'
    MetadataProperties:
      allOf:
      - $ref: '#/components/schemas/DateMetadataProperties'
      - $ref: '#/components/schemas/UserMetadataProperties'
      description: Created, createdby, modified, modifiedby, and owner properties
        for inclusion in other objects.
    MetricDataset:
      allOf:
      - $ref: '#/components/schemas/MetricDatasetProperties'
      - $ref: '#/components/schemas/MetricDatasetReadOnlyProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete metric dataset as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - disabled
      type: object
    MetricDatasetKind:
      description: The dataset kind.
      enum:
      - metric
      type: string
    MetricDatasetPATCH:
      allOf:
      - $ref: '#/components/schemas/MetricDatasetProperties'
      - $ref: '#/components/schemas/DatasetPATCHCommon'
      description: Property values to be set in an existing metric dataset using a
        PATCH request.
    MetricDatasetPOST:
      allOf:
      - $ref: '#/components/schemas/MetricDatasetProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Initial property values for creating a new metric dataset using
        a POST request.
      required:
      - kind
      - disabled
      type: object
    MetricDatasetProperties:
      description: Properties of metric datasets which may be read, set, and changed
        through the API. Implementation detail of DatasetPOST, DatasetPATCH, and Dataset,
        do not use directly.
      properties:
        disabled:
          description: Specifies whether or not the Splunk index is disabled.
          type: boolean
        frozenTimePeriodInSecs:
          description: The frozenTimePeriodInSecs to use for the index
          type: integer
        kind:
          $ref: '#/components/schemas/MetricDatasetKind'
      type: object
    MetricDatasetReadOnlyProperties:
      description: Properties of metric datasets which can only be read through the
        API.
      properties:
        earliestEventTime:
          description: The timestamp, in seconds, of the earliest measure. The timestamp
            is in UNIX time.
          type: string
        earliestIngestTime:
          description: The earliest index time for any of the measures in this index.
          type: string
        kind:
          $ref: '#/components/schemas/MetricDatasetKind'
        latestEventTime:
          description: The timestamp, in seconds, of the latest measure. The timestamp
            is in UNIX time.
          type: string
        latestIngestTime:
          description: The earliest index time for any of the measures in this index.
          type: string
        latestMetadataUpdateTime:
          description: The latest time that the metric index metadata was refreshed.
          type: string
        totalEventCount:
          description: THe number of measures in the metric index.
          type: integer
        totalSize:
          description: For metrics indexes, the totalSize is set to 0.
          type: integer
      type: object
    Module:
      description: The name of a module.
      properties:
        name:
          maxLength: 100
          type: string
      type: object
    RegexAction:
      allOf:
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/RegexActionProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      description: A complete regex action as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - field
      - pattern
      - id
      - ruleid
      type: object
    RegexActionKind:
      description: The regex action kind.
      enum:
      - REGEX
      type: string
    RegexActionPATCH:
      allOf:
      - $ref: '#/components/schemas/ActionPATCHCommon'
      - $ref: '#/components/schemas/RegexActionProperties'
      description: Property values for setting existing regex actions using a PATCH
        request.
    RegexActionPOST:
      allOf:
      - $ref: '#/components/schemas/ActionCommon'
      - $ref: '#/components/schemas/RegexActionProperties'
      description: Initial property values for creating a new regex action using a
        POST request.
      required:
      - kind
      - field
      - pattern
      type: object
    RegexActionProperties:
      description: Properties of regex actions which may be read, set, and changed
        through the API. Implementation detail of ActionPOST, ActionPOST, and Action,
        do not use directly.
      properties:
        field:
          description: Name of the field that is matched against the regular expression.
          example: nameOfExistingField
          type: string
        kind:
          $ref: '#/components/schemas/RegexActionKind'
        limit:
          description: The maximum number of times per event to attempt to match fields
            with the regular expression.
          type: integer
        pattern:
          description: A regular expression that includes named capture groups for
            the purpose of field extraction.
          type: string
      type: object
    Relationship:
      allOf:
      - $ref: '#/components/schemas/RelationshipProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      - properties:
          fields:
            description: The relationship fields associated with the relationship.
            items:
              $ref: '#/components/schemas/RelationshipField'
            type: array
          id:
            description: A unique relationship ID.
            example: 5bc1a6fefee0d854a4188125
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        type: object
      description: A complete relationship as rendered in POST, PATCH, and GET responses.
      required:
      - id
      - name
      - sourceid
      - targetid
      - kind
      - module
      - owner
      - created
      - modified
      - createdby
      - modifiedby
      - version
      - fields
      type: object
    RelationshipField:
      allOf:
      - $ref: '#/components/schemas/DateMetadataProperties'
      - $ref: '#/components/schemas/RelationshipFieldProperties'
      description: A complete relationship field as rendered in POST, PATCH, and GET
        responses.
      required:
      - sourceid
      - targetid
      - kind
      type: object
    RelationshipFieldKind:
      description: The type of match between the fields. Must be one of the valid
        values. The LATEST_BEFORE match type specifies that the datetime field in
        one dataset binds to the latest time before the datetime field in another
        dataset.
      enum:
      - EXACT
      - LATEST_BEFORE
      type: string
    RelationshipFieldPOST:
      allOf:
      - $ref: '#/components/schemas/RelationshipFieldProperties'
      description: The properties required to create a new relationship field using
        a relationship POST request.
      required:
      - sourceid
      - targetid
      - kind
      type: object
    RelationshipFieldProperties:
      description: Properties of relationship fields which are read through the API.
        Implementation detail of RelationshipFieldPOST. Do not use directly.
      properties:
        kind:
          $ref: '#/components/schemas/RelationshipFieldKind'
        relationshipid:
          description: A unique relationship ID.
          example: 5bc1a6fefee0d854a4188125
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        sourceid:
          description: A unique source dataset ID.
          example: 5bc1a6fefee0d854a4188126
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        targetid:
          description: A unique target dataset ID.
          example: 5bc1a6fefee0d854a4188127
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
      type: object
    RelationshipKind:
      description: The relationship type. Must be one of the valid values.
      enum:
      - ONE
      - MANY
      - DEPENDENCY
      type: string
    RelationshipPATCH:
      properties:
        name:
          description: The name of the relationship.
          example: nameOfRelationship
          type: string
        owner:
          description: The user who is the owner of the relationship.
          example: johndoe
          type: string
      type: object
    RelationshipPOST:
      allOf:
      - $ref: '#/components/schemas/RelationshipProperties'
      - properties:
          fields:
            description: The fields associated with this relationship.
            items:
              $ref: '#/components/schemas/RelationshipFieldPOST'
            type: array
          id:
            description: A unique relationship ID. If not specified, an auto generated
              ID is created.
            example: 5bc1a6fefee0d854a4188125
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        type: object
      description: The properties required to create a new relationship using a POST
        request.
      required:
      - name
      - kind
      type: object
    RelationshipProperties:
      description: Properties of relationships which are read through the API. Implementation
        detail of RelationshipPOST, RelationshipPATCH and Relationship. Do not use
        directly.
      properties:
        kind:
          $ref: '#/components/schemas/RelationshipKind'
        module:
          default: The module of the source dataset.
          description: The module that contains the relationship.
          example: nameOfModule
          maxLength: 100
          type: string
        name:
          description: The relationship name.
          example: nameOfRelationship
          maxLength: 100
          type: string
        sourceid:
          description: A unique source dataset ID. Either the sourceid or sourceresourcename
            property must be specified.
          example: 5bc1a6fefee0d854a4188126
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        sourceresourcename:
          description: The source dataset name qualified by module name. Either the
            sourceid or sourceresourcename property must be specified.
          example: nameOfModule.nameOfDataset
          type: string
        targetid:
          description: A unique target dataset ID. Either the targetid or targetresourcename
            property must be specified.
          example: 5bc1a6fefee0d854a4188127
          format: mongo-object-id
          maxLength: 24
          minLength: 24
          type: string
        targetresourcename:
          description: The target dataset name qualified by module name. Either the
            targetid or targetresourcename property must be specified.
          example: nameOfModule.nameOfDataset
          type: string
        version:
          description: The Catalog version.
          minimum: 1
          type: integer
      type: object
    Rule:
      allOf:
      - $ref: '#/components/schemas/RuleProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/AppClientIDProperties'
      - properties:
          actions:
            description: The actions associated with the rule.
            items:
              $ref: '#/components/schemas/Action'
            type: array
          id:
            description: A unique Rule ID.
            example: 5bc1a6fefee0d854a4188125
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
          resourcename:
            description: The rule name qualified by the module name.
            example: nameOfModule.nameOfRule
            maxLength: 201
            type: string
        type: object
      description: A complete rule as rendered in POST, PATCH, and GET responses.
      required:
      - id
      - name
      - module
      - resourcename
      - match
      - actions
      - versions
      - owner
      - created
      - createdby
      - modified
      - modifiedby
      type: object
    RulePATCH:
      allOf:
      - $ref: '#/components/schemas/RuleProperties'
      properties:
        owner:
          description: The name of the user who owns the rule.
          example: johndoe
          type: string
      type: object
    RulePOST:
      allOf:
      - $ref: '#/components/schemas/RuleProperties'
      - properties:
          actions:
            description: The actions to be associated with this rule.
            items:
              $ref: '#/components/schemas/ActionPOST'
            type: array
          id:
            description: A unique rule ID. The newly created rule object will use
              this ID value if provided.
            example: 5bc1a6fefee0d854a4188125
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
        type: object
      description: Initial property values for creating a new rule using a POST request.
      required:
      - name
      - match
      type: object
    RuleProperties:
      description: Properties of rules which may be read, set, and changed through
        the API. Implementation detail of RulePOST, RulePATCH, and Rule, do not use
        directly.
      properties:
        match:
          description: The rule match type.
          maxLength: 100
          type: string
        module:
          default: ""
          description: The module containing the rule.
          example: nameOfModule
          maxLength: 100
          type: string
        name:
          description: The rule name.
          example: nameOfRole
          maxLength: 100
          type: string
        version:
          description: The catalog version.
          minimum: 1
          type: integer
      type: object
    Splv1sinkDataset:
      allOf:
      - $ref: '#/components/schemas/Splv1sinkDatasetProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete catalog dataset as rendered in GET responses.
      required:
      - kind
      - splv1
      type: object
    Splv1sinkDatasetKind:
      description: The dataset kind.
      enum:
      - splv1sink
      type: string
    Splv1sinkDatasetProperties:
      description: Properties of splv1sink datasets which can be read through the
        API.
      properties:
        kind:
          $ref: '#/components/schemas/Splv1sinkDatasetKind'
        splv1:
          description: Internal use by common-ast, contains the converted SPL for
            a SPL2 search query.
          type: string
    Task:
      allOf:
      - $ref: '#/components/schemas/MetadataProperties'
      - properties:
          algorithm:
            description: The task algorithm name.
            example: PCA
            type: string
          children:
            description: The children tasks of the task.
            items:
              description: A unique task ID.
              example: 5bbf6d876d059d0b9ea8da46
              format: mongo-object-id
              maxLength: 24
              minLength: 24
              type: string
            type: array
          evaluation:
            description: The evaluation criteria of the task.
            items:
              type: string
            type: array
          features:
            description: The features of the task.
            items:
              type: string
            type: array
          id:
            description: A unique task ID.
            example: 5bbf6d876d059d0b9ea8da41
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
          name:
            description: The task name.
            example: nameOfTask
            maxLength: 100
            type: string
          outputtransformer:
            description: The output transformer of the task.
            example: pca_model
            type: string
          parameters:
            description: The task parameters.
            example: '{"k":3}'
            type: string
          parents:
            description: The parent tasks of the task.
            items:
              description: A unique task ID.
              example: 5bbf6d876d059d0b9ea8da45
              format: mongo-object-id
              maxLength: 24
              minLength: 24
              type: string
            type: array
          targetfeature:
            description: The target feature of the task.
            example: feature
            type: string
          tasktype:
            description: The task type.
            example: fit
            type: string
          timeoutsecs:
            description: The timeout secs of the task.
            example: 600
            minimum: 1
            type: integer
          workflowid:
            description: A unique workflow ID that is associatd with the task.
            example: 5bbf6d876d059d0b9ea8da42
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
          workflowversion:
            description: The version of the workflow that is associated with the task.
            example: 1
            minimum: 1
            type: integer
        type: object
      description: A complete task as rendered in POST, PATCH, and GET responses.
      required:
      - id
      - workflowid
      - workflowversion
      - name
      - algorithm
      - tasktype
      - parameters
      - features
      - targetfeature
      - outputtransformer
      - evaluation
      - timeoutsecs
      - parents
      - children
      type: object
    TaskPOST:
      allOf:
      - $ref: '#/components/schemas/MetadataProperties'
      - properties:
          algorithm:
            description: The task algorithm name.
            example: PCA
            type: string
          children:
            description: The children tasks of the task.
            items:
              description: A unique task ID.
              example: 5bbf6d876d059d0b9ea8da46
              format: mongo-object-id
              maxLength: 24
              minLength: 24
              type: string
            type: array
          evaluation:
            description: The evaluation criteria of the task.
            items:
              type: string
            type: array
          features:
            description: The features of the task.
            items:
              type: string
            type: array
          id:
            description: A unique task ID.
            example: 5bbf6d876d059d0b9ea8da41
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
          name:
            description: The task name.
            example: nameOfTask
            maxLength: 100
            type: string
          outputtransformer:
            description: The output transformer of the task.
            example: pca_model
            type: string
          parameters:
            description: The task parameters.
            example: '{"k":3}'
            type: string
          parents:
            description: The parent tasks of the task.
            items:
              description: A unique task ID.
              example: 5bbf6d876d059d0b9ea8da45
              format: mongo-object-id
              maxLength: 24
              minLength: 24
              type: string
            type: array
          targetfeature:
            description: The target feature of the task.
            example: feature
            type: string
          tasktype:
            description: The task type.
            example: fit
            type: string
          timeoutsecs:
            description: The timeout secs of the task.
            example: 600
            minimum: 1
            type: integer
          workflowid:
            description: A unique workflow ID that is associated with the task.
            example: 5bbf6d876d059d0b9ea8da42
            format: mongo-object-id
            maxLength: 24
            minLength: 24
            type: string
          workflowversion:
            description: The version of the workflow that is associated with the task.
            example: 1
            minimum: 1
            type: integer
        type: object
      description: A complete task as rendered in POST, PATCH, and GET responses.
      required:
      - algorithm
      - tasktype
      - parameters
      - features
      - timeoutsecs
      type: object
    UserMetadataProperties:
      description: Owner, createdby, and modifiedby user name properties for inclusion
        in other objects.
      properties:
        createdby:
          description: The name of the user who created the object. This value is
            obtained from the bearer token and may not be changed.
          example: janedoe
          readOnly: true
          type: string
        modifiedby:
          description: The name of the user who most recently modified the object.
          example: suedoe
          readOnly: true
          type: string
        owner:
          description: The name of the object's owner.
          example: johndoe
          readOnly: true
          type: string
      required:
      - owner
      - createdby
      - modifiedby
      type: object
    ViewDataset:
      allOf:
      - $ref: '#/components/schemas/ViewDatasetProperties'
      - $ref: '#/components/schemas/MetadataProperties'
      - $ref: '#/components/schemas/DatasetCommon'
      description: A complete view dataset as rendered in POST, PATCH, and GET responses.
      required:
      - kind
      - search
      type: object
    ViewDatasetKind:
      description: The dataset kind.
      enum:
      - view
      type: string
    ViewDatasetPATCH:
      allOf:
      - $ref: '#/components/schemas/ViewDatasetProperties'
      - $ref: '#/components/schemas/DatasetPATCHCommon'
      description: Property values to be set in an existing view dataset using a PATCH
        request.
    ViewDatasetPOST:
      allOf:
      - $ref: '#/components/schemas/ViewDatasetProperties'
      - $ref: '#/components/schemas/DatasetPOSTCommon'
      description: Initial property values for creating a new view dataset using a
        POST request.
      required:
      - kind
      - search
      type: object
    ViewDatasetProperties:
      description: Properties of job datasets which may be read, set, and changed
        through the API. Implementation detail of DatasetPOST, DatasetPATCH, and Dataset,
        do not use directly.
      properties:
        kind:
          $ref: '#/components/schemas/ViewDatasetKind'
        search:
          description: A valid SPL-defined search.
          type: string
      type: object
info:
  description: With the Metadata Catalog in Splunk Cloud Services you can create and
    manage knowledge objects such as datasets, fields, rules, actions, and dashboards.
  title: Search Catalog service
  version: v2beta1.4
openapi: 3.0.0
paths:
  /{tenant}/catalog/v2beta1/annotations:
    get:
      description: Returns the set of annotations across all objects.
      operationId: listAnnotations
      parameters:
      - description: A filter to apply to the results list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first one returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by.  You can specify either
          ascending or descending order using "<field> asc" or "<field> desc.  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Annotation'
                type: array
          description: An array of annotations was returned.
        "400":
          description: The filter you have applied is invalid.
        "401":
          description: The operation isn't authorized.
      x-authz-scope:
      - catalog.annotations.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
  /{tenant}/catalog/v2beta1/dashboards:
    get:
      description: Returns a list of dashboards.
      operationId: listDashboards
      parameters:
      - description: A filter to apply to the results list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first one returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by.  You can specify either
          ascending or descending order using "<field> asc" or "<field> desc.  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Dashboard'
                type: array
          description: A list of dashboards has been returned.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested dashboards were not found, or the requesting
            user lacks catalog.dashboards.read permission for them.
      x-authz-scope:
      - catalog.dashboards.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    post:
      description: Creates a new dashboard.
      operationId: createDashboard
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardPOST'
        description: The JSON representation of the Dashboard to be persisted.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: The dashboard was created.
        "400":
          description: The dashboard is invalid.
        "401":
          description: The operation isn't authorized.
        "409":
          description: The dashboard is already present.
      x-authz-scope:
      - catalog.dashboards.create
  /{tenant}/catalog/v2beta1/dashboards/{dashboardresource}:
    delete:
      description: Deletes the dashboard with the specified ID or resource name.
      operationId: deleteDashboard
      responses:
        "204":
          description: The dashboard was deleted.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The dashboard was not found.
      x-authz-scope:
      - catalog.dashboards.delete
      - catalog.dashboards.read
    get:
      description: Returns information about the dashboard with the specified ID or
        resource name.
      operationId: getDashboard
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: Information about a dashboard with the specified ID or resource
            name was returned.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A dashboard with the specified ID or resource name was not
            found, or the requesting user lacks catalog.dashboards.read permission
            for it.
      x-authz-scope:
      - catalog.dashboards.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DashboardResource'
    patch:
      description: Modifies the dashboard with the specified ID or resource name.
      operationId: updateDashboard
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardPATCH'
        description: An updated representation of the dashboard to be persisted.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: The dashboard was updated.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The dashboard was not found.
      x-authz-scope:
      - catalog.dashboards.update
      - catalog.dashboards.read
  /{tenant}/catalog/v2beta1/dashboards/{dashboardresource}/annotations:
    get:
      description: Returns the set of annotations that are associated with the specified
        dashboard.
      operationId: listAnnotationsForDashboard
      parameters:
      - description: A filter query to apply to the annotations.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Annotation'
                type: array
          description: An array of annotations matching the dashboard was returned.
        "400":
          description: The filter you have applied is invalid.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested annotations were not found, or the requesting
            user lacks catalog.annotations.read permission for them.
      x-authz-scope:
      - catalog.annotations.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DashboardResource'
    post:
      description: Creates a new annotation for the specified dashboard.
      operationId: createAnnotationForDashboard
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnnotationPOST'
        description: The JSON representation of the annotation to be persisted.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Annotation'
          description: An annotation has been created for the specified dashboard.
        "401":
          description: The operation isn't authorized.
        "409":
          description: The annotation is already present.
      x-authz-scope:
      - catalog.annotationtypes.read
  /{tenant}/catalog/v2beta1/dashboards/{dashboardresource}/annotations/{annotationid}:
    delete:
      description: Deletes the annotation with the speciifed ID that is associted
        with the specified dashboard.
      operationId: deleteAnnotationOfDashboard
      responses:
        "204":
          description: The annotation with the specified ID was deleted.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A annotation with the specified ID was not found.
      x-authz-scope:
      - catalog.annotations.delete
      - catalog.annotations.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DashboardResource'
    - $ref: '#/components/parameters/AnnotationID'
  /{tenant}/catalog/v2beta1/datasets:
    get:
      description: Returns a list of all datasets. Use a filter to return a specific
        list of datasets.
      operationId: listDatasets
      parameters:
      - description: A filter to apply to the dataset list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first result is returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by.  You can specify either
          ascending or descending order using "<field> asc" or "<field> desc".  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      - description: The number of seconds beyond which we will refresh index metadata.
        in: query
        name: maxstale
        required: false
        schema:
          minimum: 1
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/DatasetGet'
                type: array
          description: A list of datasets that match your filter has been returned.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested datasets were not found, or you lack catalog.datasets.read
            permission for the datasets.
      x-authz-scope:
      - catalog.datasets.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    post:
      description: Creates a new dataset.
      operationId: createDataset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetPOST'
        description: JSON representation of the DatasetInfo to be persisted
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
          description: The dataset was created.
        "400":
          description: The dataset is invalid.
        "401":
          description: The operation isn't authorized.
        "409":
          description: The dataset is already present.
        "429":
          description: Too many concurrent requests to create datasets.
      x-authz-scope:
      - catalog.datasets.create
  /{tenant}/catalog/v2beta1/datasets/{datasetresource}:
    delete:
      description: Deletes the dataset with the specified ID or resource name. Deleting
        a dataset also deletes its dependent objects, such as fields.
      operationId: deleteDataset
      responses:
        "204":
          description: The dataset with the specified ID or resource name was deleted.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A dataset with the specified ID or resource name was not found.
        "405":
          description: The dataset with the specified ID or resource name cannot be
            deleted because there are external objects dependent on the dataset.
      x-authz-scope:
      - catalog.datasets.delete
      - catalog.datasets.read
    get:
      description: Returns information about the dataset with the specified ID or
        resource name. For the default module, the resource name format is datasetName.
        Otherwise, the resource name format is module.datasetName.
      operationId: getDataset
      parameters:
      - description: The number of seconds beyond which we will refresh index metadata.
        in: query
        name: maxstale
        required: false
        schema:
          minimum: 1
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetGet'
          description: Information about the dataset with the specified ID or resource
            name was returned.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A dataset with the specified ID or resource name was not found,
            or the requesting user lacks catalog.datasets.read permission for it.
      x-authz-scope:
      - catalog.datasets.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DatasetResource'
    patch:
      description: Modifies the dataset with the specified Dataset ID or Resource
        Name. For the default module, the resource name format is datasetName, otherwise,
        the resource name format is module.datasetName.
      operationId: updateDataset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetPATCH'
        description: An updated representation of the dataset to be persisted.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
          description: The dataset with the specified ID or resource name was updated.
        "404":
          description: The dataset with the specified ID or resource name  was not
            found, or the requesting user lacks catalog.datasets.read permission for
            it.
      x-authz-scope:
      - catalog.datasets.update
      - catalog.datasets.read
  /{tenant}/catalog/v2beta1/datasets/{datasetresource}/annotations:
    get:
      description: Returns the set of annotations that are associated with the specified
        dataset.
      operationId: listAnnotationsForDataset
      parameters:
      - description: A filter to apply to the results list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first one returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by.  You can specify either
          ascending or descending order using "<field> asc" or "<field> desc.  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Annotation'
                type: array
          description: An array of annotations matching the dataset was returned.
        "400":
          description: The filter you have applied is invalid.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested annotations were not found, or the requesting
            user lacks catalog.annotations.read permission for them.
      x-authz-scope:
      - catalog.annotations.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DatasetResource'
    post:
      description: Creates a new annotation for the specified dataset.
      operationId: createAnnotationForDataset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnnotationPOST'
        description: The JSON representation of the annotation to be persisted.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Annotation'
          description: An annotation has been created for the specified dataset.
        "401":
          description: The operation isn't authorized.
        "409":
          description: The annotation is already present.
      x-authz-scope:
      - catalog.annotationtypes.read
  /{tenant}/catalog/v2beta1/datasets/{datasetresource}/annotations/{annotationid}:
    delete:
      description: Deletes the annotation with the specified ID that is associated
        with the specified dataset.
      operationId: deleteAnnotationOfDataset
      responses:
        "204":
          description: The annotation with the specified ID was deleted.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A annotation with the specified ID was not found.
      x-authz-scope:
      - catalog.annotations.delete
      - catalog.annotations.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DatasetResource'
    - $ref: '#/components/parameters/AnnotationID'
  /{tenant}/catalog/v2beta1/datasets/{datasetresource}/fields:
    get:
      description: Returns the set of fields for the dataset with the specified ID
        or resource name.
      operationId: listFieldsForDataset
      parameters:
      - description: A filter to apply to the dataset list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first one returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by. You can specify either
          ascending or descending order using "<field> asc" or "<field> desc.  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Field'
                type: array
          description: An array of matching fields was returned.
        "400":
          description: The filter is invalid.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested fields were not found, or the requesting user
            lacks catalog.datasets.read permission for them.
      x-authz-scope:
      - catalog.datasets.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DatasetResource'
    post:
      description: Adds a new field to the dataset with the specified ID or resource
        name.
      operationId: createFieldForDataset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldPOST'
        description: The JSON representation of the field to be persisted.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Field'
          description: The field was created.
        "400":
          description: The field is invalid.
        "401":
          description: The operation isn't authorized.
        "409":
          description: The field is already present.
      x-authz-scope:
      - catalog.datasets.update
      - catalog.datasets.read
  /{tenant}/catalog/v2beta1/datasets/{datasetresource}/fields/{fieldid}:
    delete:
      description: Deletes the field with the specified ID that is part of the specified
        dataset.
      operationId: deleteFieldByIdForDataset
      responses:
        "204":
          description: The field with the specified ID was deleted.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The field with the specified ID was not found, or the requesting
            user lacks catalog.datasets.read permission for them.
      x-authz-scope:
      - catalog.datasets.update
      - catalog.datasets.read
    get:
      description: Returns the field with the specified ID that is part of the specified
        dataset.
      operationId: getFieldByIdForDataset
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Field'
          description: A field with the specified ID was retrieved.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A field with the specified ID was not found, or the requesting
            user lacks catalog.datasets.read permission for it.
      x-authz-scope:
      - catalog.datasets.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DatasetResource'
    - $ref: '#/components/parameters/FieldID'
    patch:
      description: Modifies the field with the specified ID that is part of the specified
        dataset.
      operationId: updateFieldByIdForDataset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldPATCH'
        description: The properties to update in the specified field, or the requesting
          user lacks catalog.datasets.read permission for them.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Field'
          description: The field with the specified ID was updated.
        "404":
          description: The field with the specified ID was not found, or the requesting
            user lacks catalog.datasets.read permission for them.
      x-authz-scope:
      - catalog.datasets.update
      - catalog.datasets.read
  /{tenant}/catalog/v2beta1/datasets/{datasetresource}/imported-by:
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DatasetResource'
    post:
      description: Creates a new dataset import using the ID or resource name of the
        imported dataset.
      operationId: createDatasetImport
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetImportedBy'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetImportedBy'
          description: The dataset import was created.
        "400":
          description: The dataset import is invalid.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The dataset with the specified ID was not found.
        "409":
          description: The dataset cannot be imported because it is already present.
      x-authz-scope:
      - catalog.datasets.create
  /{tenant}/catalog/v2beta1/datasets/{datasetresource}/importedby:
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/DatasetResource'
    post:
      description: Creates a new dataset import using the ID or resource name of the
        imported dataset.
      operationId: importDataset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetImportedBy'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetImportedBy'
          description: The dataset import was created.
        "400":
          description: The dataset import is invalid.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The dataset with the specified ID or resource name was not
            found.
        "409":
          description: The dataset cannot be imported because it is already present.
      x-authz-scope:
      - catalog.datasets.create
  /{tenant}/catalog/v2beta1/fields:
    get:
      description: Returns a list of all of the fields in the Metadata Catalog.
      operationId: listFields
      parameters:
      - description: A filter to apply to the dataset list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first one returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by.  You can specify either
          ascending or descending order using "<field> asc" or "<field> desc.  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Field'
                type: array
          description: A list of fields matching the query was returned.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested fields were not found, or the requesting user
            lacks catalog.datasets.read permission for them.
      x-authz-scope:
      - catalog.datasets.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
  /{tenant}/catalog/v2beta1/fields/{fieldid}:
    get:
      description: Returns the field with the specified ID.
      operationId: getFieldById
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Field'
          description: A field matching the specified ID was returned successfully.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The field with the specified ID was not found, or the requesting
            user lacks catalog.datasets.read permission for them.
      x-authz-scope:
      - catalog.datasets.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/FieldID'
  /{tenant}/catalog/v2beta1/modules:
    get:
      description: Returns a list of all modules. Use a filter to return a specific
        list of modules.
      operationId: listModules
      parameters:
      - description: A filter to apply to the modules.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Module'
                type: array
          description: A list of modules matching your filter has been returned.
        "401":
          description: Unauthorized operation.
        "404":
          description: The requested modules were not found, or the requesting user
            lacks catalog.datasets.read/catalog.rules.read permission for them.
      x-authz-scope:
      - catalog.datasets.read
      - catalog.rules.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
  /{tenant}/catalog/v2beta1/relationships:
    get:
      description: Returns a list of all relationships. Use a filter to return a specific
        list of relationships.
      operationId: listRelationships
      parameters:
      - description: A filter to apply to the results list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first one returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by.  You can specify either
          ascending or descending order using "<field> asc" or "<field> desc.  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Relationship'
                type: array
          description: A list of relationships that match the filter was returned.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested relationships were not found.
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    post:
      description: Creates a new relationship.
      operationId: createRelationship
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationshipPOST'
        description: The JSON representation of the relationship to persist.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Relationship'
          description: The relationship was created.
        "400":
          description: The relationship is invalid.
        "401":
          description: The operation isn't authorized.
        "409":
          description: The relationship is already present.
  /{tenant}/catalog/v2beta1/relationships/{relationshipid}:
    delete:
      description: Deletes the relationship with the specified relationship ID. Deleting
        a relationship also deletes any objects that are dependents of that relationship,
        such as relationship fields.
      operationId: deleteRelationshipById
      responses:
        "204":
          description: A relationship with the specified ID was deleted.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A relationship with the specified ID was not found.
    get:
      description: Returns the relationship with the specified relationship ID.
      operationId: getRelationshipById
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Relationship'
          description: A relationship with the selected relationship ID was retrieved.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A relationship with the specified relationship ID was not found.
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/RelationshipID'
    patch:
      description: Modifies the relationship with the specified relationship ID.
      operationId: updateRelationshipById
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationshipPATCH'
        description: The properties to update in the specified relationship.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Relationship'
          description: The relationship was updated.
        "404":
          description: A relationship matching the specified ID was not found.
  /{tenant}/catalog/v2beta1/rules:
    get:
      description: Returns a list of rules that match a filter, if specified, otherwise
        returns all rules.
      operationId: listRules
      parameters:
      - description: A filter to apply to the results list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first one returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by.  You can specify either
          ascending or descending order using "<field> asc" or "<field> desc.  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Rule'
                type: array
          description: A list of rules matching the query filter was returned.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested rules were not found, or the requesting user
            lacks catalog.rules.read permission for them.
      x-authz-scope:
      - catalog.rules.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    post:
      description: Creates a new rule.
      operationId: createRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RulePOST'
        description: The JSON representation of the rule to be persisted.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
          description: The rule was created.
        "400":
          description: The rule isn't valid.
        "401":
          description: The operation isn't authorized.
        "409":
          description: The rule is already present.
      x-authz-scope:
      - catalog.rules.create
  /{tenant}/catalog/v2beta1/rules/{ruleresource}:
    delete:
      description: Deletes the rule with the specfied ID or resource name. Deleting
        a rule also deleletes any objects that are dependents of that rule, such as
        rule actions.
      operationId: deleteRule
      responses:
        "204":
          description: A rule with the specified ID or resource name was deleted.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A rule with the specified ID or resource name was not found.
        "405":
          description: The rule cannot be deleted because it has dependencies.
      x-authz-scope:
      - catalog.rules.delete
      - catalog.rules.read
    get:
      description: Returns information about rule with the specified rule ID or resource
        name.
      operationId: getRule
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
          description: A rule with the specified rule ID or resource name was retrieved.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A rule with the specified rule ID or resource name was not
            found, or the requesting user lacks catalog.rules.read permission for
            it.
      x-authz-scope:
      - catalog.rules.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/RuleResource'
    patch:
      description: Modifies the rule with the specified rule ID or resource name.
      operationId: updateRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RulePATCH'
        description: The properties to update in the specified rule.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
          description: The rule was updated.
        "404":
          description: A rule matching the specified ID or resource name was not found.
      x-authz-scope:
      - catalog.rules.update
      - catalog.rules.read
  /{tenant}/catalog/v2beta1/rules/{ruleresource}/actions:
    get:
      description: Returns the set of actions that are part of the specified rule.
      operationId: listActionsForRule
      parameters:
      - description: A filter to apply to the results list. The filter must be a SPL
          predicate expression.
        in: query
        name: filter
        required: false
        schema:
          format: spl-predicate-expression
          type: string
      - description: The maximum number of results to return.
        in: query
        name: count
        required: false
        schema:
          minimum: 1
          type: integer
      - description: The number of results to skip before the first one returned.
        in: query
        name: offset
        required: false
        schema:
          minimum: 0
          type: integer
      - description: A list of fields to order the results by.  You can specify either
          ascending or descending order using "<field> asc" or "<field> desc.  Ascending
          order is the default.
        in: query
        name: orderby
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Action'
                type: array
          description: An array of actions matching the rule was returned.
        "400":
          description: The filter you have applied is invalid.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The requested actions were not found, or the requesting user
            lacks catalog.rules.read permission for them.
      x-authz-scope:
      - catalog.rules.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/RuleResource'
    post:
      description: Creates a new action for the specified rule by rule id or resource
        name.
      operationId: createActionForRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionPOST'
        description: The JSON representation of the action to be persisted.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Action'
          description: An action has been created for the specified rule by rule id
            or resource name.
        "400":
          description: The action is invalid.
        "401":
          description: The operation isn't authorized.
        "409":
          description: The action is already present.
      x-authz-scope:
      - catalog.rules.update
      - catalog.rules.read
  /{tenant}/catalog/v2beta1/rules/{ruleresource}/actions/{actionid}:
    delete:
      description: Deletes the action with the specified ID that is associated with
        the specified rule.
      operationId: deleteActionByIdForRule
      responses:
        "204":
          description: The action was deleted.
        "401":
          description: The operation isn't authorized.
        "404":
          description: The action was not found.
      x-authz-scope:
      - catalog.rules.update
      - catalog.rules.read
    get:
      description: Returns information about the action with the specified ID that
        is associated with the specified rule.
      operationId: getActionByIdForRule
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Action'
          description: An action matching the specified rule ID was returned.
        "401":
          description: The operation isn't authorized.
        "404":
          description: A action with the specified ID was not found, or the requesting
            user lacks catalog.rules.read permission for it.
      x-authz-scope:
      - catalog.rules.read
    parameters:
    - $ref: '#/components/parameters/AuthorizationHeader'
    - $ref: '#/components/parameters/Tenant'
    - $ref: '#/components/parameters/RuleResource'
    - $ref: '#/components/parameters/ActionID'
    patch:
      description: Modifies the action with the specified ID that is associated with
        the specified rule.
      operationId: updateActionByIdForRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionPATCH'
        description: The properties to update in the specified action.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Action'
          description: The action was updated.
        "404":
          description: The action was not found.
      x-authz-scope:
      - catalog.rules.update
      - catalog.rules.read

# Retrieved from scp-openapi commit 820564ba8a17697d087ff171b14cbad60a716ee3 path: catalog/v2beta1/openapi.yaml