openapi: 3.0.3
info:
  title: CAS Management
  description: The CAS Management API enables users to manage and perform actions on common resources related to Cloud Analytic Services (CAS).
  version: "9"
  contact:
    name: SAS Developers
    url: https://developer.sas.com
    email: devex@sas.com
tags:
  - name: Root
    description: Contains operations for the root resource.
  - name: Servers
    description: Contains operations to manage CAS servers.
  - name: Sessions
    description: Contains operations to create and manage CAS server sessions.
  - name: Caslibs
    description: Contains operations to create and manage caslibs.
  - name: Nodes
    description: Contains operations to create and manage worker nodes on a CAS server.
  - name: Sources
    description: Contains operations to return information about data sources.
  - name: Tables
    description: Contains operations to create and manage tables in a caslib.
  - name: Columns
    description: Contains operations to return information from columns in a table.
  - name: Provider
    description: Contains operations for data table providers.
  - name: Loggers
    description: Contains operations to create and manage loggers for a CAS server.
  - name: Policies
    description: Contains operations to create and manage policies on a CAS server.
  - name: Settings
    description: Contains operations to return settings information.
paths:
  /:
    get:
      operationId: root
      summary: Get API resource links
      description: Returns API information. Produces application/json and application/vnd.sas.api+json.
      responses:
        "200":
          description: Version information about the API, as well as top level API entry points.
          content:
            application/vnd.sas.api+json:
              schema:
                $ref: "#/components/schemas/api"
            application/json:
              schema:
                $ref: "#/components/schemas/api"
      tags:
        - Root
    head:
      operationId: headersForRoot
      summary: Check availability of API
      description: Returns whether the CAS Management service is running or not. This is identical to a GET request but returns only the HTTP headers with no document body.
      tags:
        - Root
      responses:
        "200":
          description: The request succeeded. Service is running and available.
  "/dataSources/{dataTableProviderId}/tables":
    get:
      operationId: getTablesProvider
      summary: Get a collection of tables
      description: Returns a collection of tables as application/vnd.sas.data.table or application/vnd.sas.data.table.summary. Supports both loaded and unloaded tables.
      parameters:
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: dataTableProviderId
          description: See Data Tables API documentation for details about dataTableProviderId. A sample value is `cas~fs~serverName~fs~caslibName`.
          in: path
          required: true
          schema:
            type: string
        - name: Accept-Item
          description: "The desired representation. The Accept-Item options are: <ul> <li>application/vnd.sas.data.table+json</li> <li>application/vnd.sas.data.table.summary+json</li> <li>blank</li> </ul> If the Accept-Item header is not provided, then the application/vnd.sas.data.source+json representation will be returned."
          in: header
          required: false
          schema:
            type: string
            enum:
              - application/vnd.sas.data.table.summary+json
              - application/vnd.sas.data.table+json
        - name: loaded
          description: Determines whether loaded tables are *included* in the results. Defaults to *true*. Note that a value of *false* does not imply that source tables should be included, only that loaded tables should be excluded.
          in: query
          required: false
          schema:
            type: boolean
        - name: scope
          description: "When loaded tables are included, determines which loaded tables are returned. Valid values include: - *all* Includes tables in both session scope and global scope - *global* Includes tables only in a global scope Defaults to *all*."
          in: query
          required: false
          schema:
            type: string
        - name: sources
          description: Determines whether source tables are *included* in the results. Defaults to *true*. Note that a value of *false* does not imply that loaded tables should be included, only that source tables should be excluded.
          in: query
          required: false
          schema:
            type: boolean
      responses:
        "200":
          description: The request succeeded. The list of tables was returned.
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Provider
  "/dataTables/dataSources/{dataTableProviderId}/tables/{tableName}":
    get:
      operationId: getTableProvider
      summary: Get a table
      description: Returns a specific table. Supports both loaded and unloaded tables.
      parameters:
        - name: dataTableProviderId
          description: See Data Tables API documentation for details about dataTableProviderId. A sample value is `cas~fs~serverName~fs~caslibName`.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: The name of the table.
          in: path
          required: true
          schema:
            type: string
        - name: loaded
          description: Determines whether a loaded table is included in the results. Defaults to *true*. Note that a value of *false* does not imply that a source table should be included, only that a loaded table should be excluded.
          in: query
          required: false
          schema:
            type: boolean
        - name: scope
          description: "When a loaded table is included, determines which loaded table is returned. Valid values include: <ul> <li>all - Includes tables in both session scope and global scope</li> <li>global - Includes tables only in a global scope</li> </ul> Defaults to *all*."
          in: query
          required: false
          schema:
            type: string
        - name: sources
          description: Determines whether a source table is *included* in the results. Defaults to *true*. Note that a value of *false* does not imply that a loaded table should be included, only that a source table should be excluded.
          in: query
          required: false
          schema:
            type: boolean
        - name: detailGroups
          description: "A comma-separated list of detail groups to return in the representation. Some detail groups require more time to retrieve. This parameter allows opting-in to the following detail groups in cases where they are not already included: <ul> <li>all - Include all detail groups</li> <li>unloaded Columns - Include column counts for unloaded tables. This information is retrieved if available from the source.</li> <li>unloadedRows - Include row counts for unloaded tables. This information is retrieved if available from the source. Row counts from HDFS are not provided.</li> </ul>"
          in: query
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - all
                - unloadedColumns
                - unloadedRows
      responses:
        "200":
          description: The request succeeded. The list of tables was returned.
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.data.table+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/vnd.sas.data.table.summary+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Provider
  /commons/settings:
    get:
      operationId: getSettings
      summary: Get the shared API settings
      description: Returns the possible settings that this API shares.
      tags:
        - Settings
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.attributes+json:
              schema:
                $ref: "#/components/schemas/settings"
              examples:
                settings:
                  $ref: "#/components/examples/settingsExample"
            application/json:
              schema:
                $ref: "#/components/schemas/settings"
              examples:
                settings:
                  $ref: "#/components/examples/settingsExample"
  /servers:
    get:
      operationId: getServers
      summary: Get a list of CAS servers
      description: Returns a collection of CAS servers. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.server+json.
      parameters:
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: filter
          description: "Filter criteria for returned items. The valid filter fields are the first-level fields in each item. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries: <ul> <li>Search by name starting with: filter=startsWith(name, 'cas')</li> <li>Search by name: filter=eq(name, 'cas-shared-default')</li> <li>Search for multiple items: filter=in(name, 'cas-shared-default', 'cas-host-default')</li> </ul>"
          in: query
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          description: "Sort returned items. The sort criteria supports the first-level fields in each item. Some sample sorts: <ul> <li>Sort by ascending name: sortBy=name:ascending</li> <li>Sort by descending name: sortBy=name:descending</li> </ul> The default sort is by name in ascending order."
          in: query
          schema:
            type: string
            format: sort-criteria
        - name: excludeItemLinks
          description: Determines whether item links are excluded from results. Defaults to false.
          in: query
          schema:
            type: boolean
      responses:
        "200":
          description: The request succeeded. The collection of CAS servers was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casServerCollection"
              examples:
                casServerCollection:
                  $ref: "#/components/examples/casServerCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerCollection"
              examples:
                casServerCollection:
                  $ref: "#/components/examples/casServerCollectionExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
      tags:
        - Servers
  "/servers/{serverName}":
    get:
      operationId: getServer
      summary: Get a CAS server
      description: Returns a specific CAS server definition.
      parameters:
        - name: serverName
          description: The name of the server.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded. The CAS server definition was returned
          content:
            application/vnd.sas.cas.server+json:
              schema:
                $ref: "#/components/schemas/casServer"
              examples:
                casServer:
                  $ref: "#/components/examples/casServerExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServer"
              examples:
                casServer:
                  $ref: "#/components/examples/casServerExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.server+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
      tags:
        - Servers
  "/servers/{serverName}/caslibs":
    get:
      operationId: getCaslibs
      summary: Get a list of caslibs
      description: Returns a collection of caslibs available on the CAS server. Supports SAS standard paging query parameters, sorting, and filtering. This is a generic call for obtaining Caslib information. Since Caslib data source content varies widely depending on the attributes of a given data source, the information is returned as application/vnd.sas.cas.caslib+json, containing key/value pairs as returned from CAS. For specifics on a given Caslib data source type and its attributes, see the CAS libraries documentation. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.caslib+json.
      parameters:
        - name: serverName
          description: Server name for which caslibs are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when session-specific caslibs are also desired in results).
          in: query
          required: false
          schema:
            type: string
        - name: includeHidden
          description: Determines whether caslibs marked as hidden should be included in the results. Defaults to false.
          in: query
          required: false
          schema:
            type: boolean
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: filter
          description: "Filter criteria for returned items. The valid filter fields are the first-level fields in each item. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries: <ul> <li>Search by name starting with: filter=startsWith(name, 'CAS')</li> <li>Search by name: filter=eq(name, 'CASUSER')</li> <li>Search for multiple items: filter=in(name, 'CASUSER', 'Public')</li> </ul>"
          in: query
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          description: "Sort returned items. The sort criteria supports the first-level fields in each item. Some sample sorts: <ul> <li>Sort by ascending name: sortBy=name:ascending</li> <li>Sort by descending name: sortBy=name:descending</li> </ul> The default sort is by name in ascending order."
          in: query
          schema:
            type: string
            format: sort-criteria
        - name: excludeItemLinks
          description: Determines whether item links are excluded from results. Defaults to false.
          in: query
          schema:
            type: boolean
      responses:
        "200":
          description: The request was successful.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/caslibCollection"
              examples:
                caslibCollection:
                  $ref: "#/components/examples/caslibCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/caslibCollection"
              examples:
                caslibCollection:
                  $ref: "#/components/examples/caslibCollectionExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Caslibs
    post:
      operationId: createCaslib
      summary: Create a Caslib
      description: Defines a new caslib.
      parameters:
        - name: serverName
          description: Server name for which caslibs should be defined.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (useful when session-specific Caslib is desired).
          in: query
          required: false
          schema:
            type: string
        - name: createDirectory
          description: When creating a path-based Caslib, this parameter indicates whether the leaf-node of the path referenced by the Caslib. Should be created if it does not already exist. Applicable when creating a path-based Caslib. Defaults to false.
          in: query
          required: false
          schema:
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/caslib"
      responses:
        "201":
          description: The Caslib was defined successfully. Information about the defined Caslib is returned. Note that links are returned only for GET calls, and are not included in the POST response (though listed here so that endpoints in this documentation can share the same schema definition).
          headers:
            Location:
              description: The location of the newly created resource.
              schema:
                type: string
          content:
            application/vnd.sas.cas.caslib+json:
              schema:
                $ref: "#/components/schemas/caslib"
              examples:
                caslib:
                  $ref: "#/components/examples/caslibExample"
            application/json:
              schema:
                $ref: "#/components/schemas/caslib"
              examples:
                caslib:
                  $ref: "#/components/examples/caslibExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.caslib+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Caslibs
  "/servers/{serverName}/caslibs#advanced":
    post:
      operationId: createCaslibAdvanced
      summary: Create a Caslib with advanced options
      description: "Defines a new Caslib using more advanced options. Note: If present, remove '#advanced' from the URL before submitting."
      parameters:
        - name: serverName
          description: Server name for which caslibs should be defined.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (useful when session-specific Caslib is desired).
          in: query
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.caslib.create.request+json:
            schema:
              $ref: "#/components/schemas/caslibCreateRequest"
            examples:
              caslibCreateRequest:
                $ref: "#/components/examples/caslibCreateRequestExample"
          application/json:
            schema:
              $ref: "#/components/schemas/caslibCreateRequest"
            examples:
              caslibCreateRequest:
                $ref: "#/components/examples/caslibCreateRequestExample"
      responses:
        "201":
          description: The Caslib was defined successfully. Information about the defined Caslib is returned. Note that links are returned only for GET calls, and are not included in the POST response (though listed here so that endpoints in this documentation can share the same schema definition).
          content:
            application/vnd.sas.cas.caslib+json:
              schema:
                $ref: "#/components/schemas/caslib"
              examples:
                caslib:
                  $ref: "#/components/examples/caslibExample"
            application/json:
              schema:
                $ref: "#/components/schemas/caslib"
              examples:
                caslib:
                  $ref: "#/components/examples/caslibExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.caslib+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Caslibs
  "/servers/{serverName}/caslibs/{caslibName}":
    delete:
      operationId: deleteCaslib
      summary: Remove a Caslib definition
      description: Removes a Caslib definition.
      parameters:
        - name: serverName
          description: Server name containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name on which to perform the operation.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID on which to perform the operation.
          in: query
          required: false
          schema:
            type: string
        - name: deleteDirectory
          description: Set to true to also remove the caslib backing directory for path-based caslibs (if empty). Defaults to false.
          in: query
          required: false
          schema:
            type: boolean
      responses:
        "204":
          description: The Caslib definition was removed.
        "400":
          description: The request parameters were invalid.
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Caslibs
    get:
      operationId: getCaslib
      summary: Get a Caslib
      description: Retrieves a single Caslib.
      parameters:
        - name: serverName
          description: Server name containing the caslibs being requested.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when a session-specific Caslib is being requested).
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded. Information about the requested Caslib was returned.
          content:
            application/vnd.sas.cas.caslib+json:
              schema:
                $ref: "#/components/schemas/caslib"
              examples:
                caslib:
                  $ref: "#/components/examples/caslibExample"
            application/json:
              schema:
                $ref: "#/components/schemas/caslib"
              examples:
                caslib:
                  $ref: "#/components/examples/caslibExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.caslib+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Caslibs
    patch:
      operationId: patchCaslib
      summary: Edit a global Caslib
      description: "Edits properties of an existing global Caslib. Session Caslib properties cannot be edited. Editable properties include the following: * description * path"
      parameters:
        - name: serverName
          description: Server name containing the global Caslib to be edited.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the global Caslib to be edited.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID. Note that editing session-based caslibs is not supported. Passing sessionId is provided to avoid creating a new CAS session, improving performance of the call.
          in: query
          required: false
          schema:
            type: string
        - name: createDirectory
          description: Indicates whether the leaf subdirectory of the path specified should be created when changing the path. If set to true, the directory will be created if it does not exist. Defaults to false.
          in: query
          required: false
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/caslib"
      responses:
        "200":
          description: The Caslib was edited successfully.
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.caslib+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
        "412":
          description: Precondition Failed.
          content:
            application/vnd.sas.cas.caslib+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
      tags:
        - Caslibs
  "/servers/{serverName}/caslibs/{caslibName}/sources":
    get:
      operationId: getSources
      summary: Get a list of source files or tables
      description: Returns a collection of source files or tables accessible through the data source defined for the Caslib. For path-based caslibs, this list will include files in the file system. For non-path-based caslibs, such as database data sources, this list will include database tables. The list is returned without regard to the loaded or unloaded state of the source file or table. Sorting and filtering are not supported. SAS standard paging query parameters are supported. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.source.table+json.
      parameters:
        - name: serverName
          description: Server name for which source tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name for which source tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when session-specific tables are also desired in results).
          in: query
          required: false
          schema:
            type: string
        - name: excludeItemLinks
          description: Determines whether item links are excluded from results. Defaults to false.
          in: query
          schema:
            type: boolean
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
      responses:
        "200":
          description: The request succeeded. The list of source files or tables for the requested CAS server, CAS library, and optional session was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casSourceTableCollection"
              examples:
                casSourceTableCollection:
                  $ref: "#/components/examples/casSourceTableCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casSourceTableCollection"
              examples:
                casSourceTableCollection:
                  $ref: "#/components/examples/casSourceTableCollectionExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Sources
  "/servers/{serverName}/caslibs/{caslibName}/sources/{sourceName}":
    get:
      operationId: getSource
      summary: Get a source file or table
      description: Retrieves information about a single source file or table.
      parameters:
        - name: serverName
          description: Server name for which source tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name for which source tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sourceName
          description: Source file or table name being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when session-specific tables are also desired in results).
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded. The source file or table information was returned.
          content:
            application/vnd.sas.cas.source.table+json:
              schema:
                $ref: "#/components/schemas/casSourceTable"
              examples:
                casSourceTable:
                  $ref: "#/components/examples/casSourceTableExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casSourceTable"
              examples:
                casSourceTable:
                  $ref: "#/components/examples/casSourceTableExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.source.table+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Sources
  "/servers/{serverName}/caslibs/{caslibName}/tables":
    get:
      operationId: getTables
      summary: Get a list of tables
      description: >-
        Returns a collection of tables accessible by the CAS server in the Caslib. Tables in this context refer to both loaded CAS tables as well as unloaded source tables. - For path-based caslibs, the source table shown will be the first matching .sashdat, .sas7bdat, .parquet, or .csv file found, in that order, independent of case. - For non-path-based caslibs (such as DBMS libraries), the source table used will be the first matching source table name found, independent of case.

        Supports SAS standard paging query parameters. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.table+json.
      parameters:
        - name: serverName
          description: Server name for which tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name for which tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when session-specific tables are also desired in results).
          in: query
          required: false
          schema:
            type: string
        - name: state
          description: Omitting this value includes both loaded and unloaded (source) tables in the result. Specifying a value here filters the results to tables that match a particular state. Valid values include loaded (loaded tables) and unloaded (unloaded tables).
          in: query
          required: false
          schema:
            type: string
        - name: scope
          description: Omitting this value includes tables of all scopes. Specifying a value here filters the results to tables that match a particular scope. Valid values include session and global.
          in: query
          required: false
          schema:
            type: string
        - name: sourcesOnly
          description: Determines whether source tables should be displayed. Defaults to false.
          in: query
          schema:
            type: boolean
        - name: excludeItemLinks
          description: Determines whether item links are excluded from results. Defaults to false.
          in: query
          schema:
            type: boolean
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: filter
          description: "Filter criteria for returned items. The valid filter fields are the first-level fields in each item. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries: <ul> <li>Search by name: starting with filter=startsWith(name, 'CAS')</li> <li>Search by name: filter=eq(name, 'CASUSER')</li> <li>Search for multiple items: filter=in(name, 'CASUSER', 'Public')</li> </ul>"
          in: query
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          description: "Sort returned items. The sort criteria supports the first-level fields in each item. Some sample sorts: <ul> <li>Sort by ascending name: sortBy=name:ascending</li> <li>Sort by descending name: sortBy=name:descending</li> </ul> The default sort is by name in ascending order."
          in: query
          schema:
            type: string
            format: sort-criteria
      responses:
        "200":
          description: The request succeeded. The list of tables for the requested CAS server, CAS library, and optional session was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/tableCollection"
              examples:
                tableCollection:
                  $ref: "#/components/examples/tableCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/tableCollection"
              examples:
                tableCollection:
                  $ref: "#/components/examples/tableCollectionExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
    post:
      operationId: uploadTable
      summary: Upload a data file to the collection of tables
      description: Uploads a data file to the table collections using a multipart form-data post. Supported data files are csv, xls, xlsx/xlsm, sas7bdat and sashdat.
      parameters:
        - name: serverName
          description: Server name for which tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name for which tables are being requested.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                sessionId:
                  description: Session ID (used when session-specific tables are also desired in results).
                  type: string
                tableName:
                  description: The name of the table to be created.
                  type: string
                variables:
                  description: >-
                    The optional list of variables and their attributes, in JSON format. The value is a single string containing a JSON array of variable objects, each describing a variable and one or more of its attributes. When not specified, the best guess for column attributes will be made.  When uploading csv data, containsHeaderRow should be set to true and a header row provided to ensure column names are properly set.  This option then further sets attributes of those columns.

                    Each variable in the array may have one or more of the following properties.

                    <table> <tr><th>Property</th><th>Type</th><th>Description</th></tr> <tr><td>name <b>(required)</b></td><td>string</td><td>specifies the name for the variable.</td></tr> <tr><td>label</td><td>string</td><td>specifies the descriptive label for the variable.</td></tr> <tr><td>type</td><td>string</td><td>specifies the data type for the variable.  Sample values include BINARY, CHAR, DATE, DATETIME, DECQUAD, DECSEXT, DOUBLE, INT32, INT64, TIME, VARBINARY, VARCHAR.</td></tr> <tr><td>format</td><td>string</td><td>specifies the format to apply to the variable.</td></tr> <tr><td>length</td><td>integer</td><td>specifies the unformatted length of the variable. This parameter applies to fixed-length character variables (type="CHAR") only.</td></tr> <tr><td>formattedLength</td><td>integer</td><td>specifies the length of format field plus the length of the format precision.</td></tr> </table> A simple sample value is included below. <table> <tr><th>Sample value</th></tr> <tr><td>[ {"name":"Make","type":"VARCHAR"}, {"name":"Model","type":"VARCHAR"}, {"name":"Type","type":"VARCHAR"}, {"name":"Origin","type":"VARCHAR"}, {"name":"Drive train","type":"VARCHAR"}, {"name":"MSRP","type":"VARCHAR", "format":"DOLLAR8."}, {"name":"Invoice","type":"VARCHAR", "format":"DOLLAR8."}, {"name":"Engine Size","type":"DOUBLE"}, {"name":"Cylinders","type":"INT32"}, {"name":"Horsepower","type":"INT32"}, {"name":"City MPG","type":"INT32"}, {"name":"Highway MPG","type":"INT32"}, {"name":"Weight","type":"INT32"}, {"name":"Wheelbase","type":"INT32"}, {"name":"Length","type":"INT32"} ]</td></tr> </table>
                  type: string
                indexVars:
                  description: An optional list of variables in the uploaded data. The corresponding variables in the resulting table are marked as indexed. The parameter is valid for csv, xls, and xlsx files only.
                  type: array
                  items:
                    type: string
                format:
                  description: Format of the data file. The supported formats are \csv\, \xls\, \xlsx\, \sas7bdat\ and \sashdat\.
                  type: string
                label:
                  description: Label placed on the new table.
                  type: string
                scope:
                  description: The scope to which to load the table. Valid values include global and session. Defaults to global.
                  type: string
                replace:
                  description: If true, any pre-existing table with the same name will be replaced. Defaults to false.
                  type: boolean
                encoding:
                  description: Encoding of the file contents. The parameter is valid for CSV files only. Defaults to utf-8.
                  type: string
                allowTruncation:
                  description: Allow truncation of character data that is too long for a given field. The parameter is valid for CSV files only. Defaults to true.
                  type: boolean
                allowEmbeddedNewLines:
                  description: Preserves new lines that are embedded in text fields. The parameter is valid for CSV files only. Defaults to false.
                  type: boolean
                delimiter:
                  description: Delimiter character. The parameter is valid for CSV files only. Defaults to ','.
                  type: string
                varchars:
                  description: Use variable character lengths. The parameter is valid for CSV files only. Defaults to true.
                  type: boolean
                scanRows:
                  description: Number of rows to scan when determining column types. The parameter is valid for CSV files only. Default is 20. Set to zero to scan all rows in the file.
                  type: integer
                  format: int64
                threadCount:
                  description: Number of threads to use on each CAS node to process the CSV data. The parameter is valid for CSV files only. Default is one thread per licensed CPU. Set to 0 to use the default.
                  type: integer
                  format: int64
                stripBlanks:
                  description: If true, remove leading and trailing blanks from character variables. The parameter is valid for CSV files only. Defaults to false.
                  type: boolean
                containsHeaderRow:
                  description: If true, first row is used for column names. The parameter is valid for csv, xls and xlsx files only. Defaults to false.
                  type: boolean
                sheetName:
                  description: Specifies the name of worksheet to import from a Microsoft Excel file. The parameter is valid for xls and xlsx files only. If no sheet name is specified, the first sheet is used.
                  type: string
                password:
                  description: Password used to read a protected SAS data set. The parameter is valid for sas7bdat files only.
                  type: string
                decryptionKey:
                  description: Key used to decrypt the data file. The parameter is valid for sas7bdat and sashdat files only.
                  type: string
                stringLengthMultiplier:
                  description: Specifies to increase the width of fixed-byte-width character columns. The number of bytes needed for multi-byte characters depends on the particular characters in the string. The parameter is valid for sas7bdat files only.
                  type: integer
                  format: double
                varcharConversionThreshold:
                  description: Sets a threshold in bytes so that columns of type 'char' whose length meets or exceeds the threshold are converted to type 'varchar'. For example, if varcharConversionThreshold=20, a 'char' column of length 20 is converted to 'varchar' but a 'char' column of length 19 is not converted. The parameter is valid for sas7bdat files only.
                  type: integer
                  format: double
                varcharConversion:
                  description: Acts as an alias for varcharConversionThreshold. If both varcharConversion and varcharConversionThreshold are provided, the value of varcharConversionThreshold will be used. The parameter is valid for sas7bdat files only.
                  type: integer
                  format: double
                file:
                  description: Data file in one of the supported formats. This MUST be the last parameter.
                  type: string
                  format: binary
              required:
                - tableName
                - format
                - file
      responses:
        "201":
          description: The list of newly uploaded tables was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/tableDetails"
              examples:
                tableDetails:
                  $ref: "#/components/examples/tableDetailsExample"
            application/json:
              schema:
                $ref: "#/components/schemas/tableDetails"
              examples:
                tableDetails:
                  $ref: "#/components/examples/tableDetailsExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
  "/servers/{serverName}/caslibs/{caslibName}/tables#createTable":
    post:
      operationId: createTable
      summary: Create a new in-memory table
      description: Creates a new in-memory table from column information.
      parameters:
        - name: serverName
          description: Server name for which tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name for which tables are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: >
            Session ID used for session table creation.  Scope of the session table may be optionally modified to make the table global.
          in: query
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.table.create.request:
            schema:
              $ref: "#/components/schemas/casTableCreateRequest"
            examples:
              json:
                $ref: "#/components/examples/casTableCreateRequestExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casTableCreateRequest"
            examples:
              json:
                $ref: "#/components/examples/casTableCreateRequestExample"
      responses:
        "201":
          description: Information about the newly created table.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/tableDetails"
              examples:
                tableDetails:
                  $ref: "#/components/examples/tableDetailsExample"
            application/json:
              schema:
                $ref: "#/components/schemas/tableDetails"
              examples:
                tableDetails:
                  $ref: "#/components/examples/tableDetailsExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}":
    delete:
      operationId: deleteTable
      summary: Delete a table from source
      description: Deletes a table from Caslib source. Note that is not an unload. This operation physically removes the source table (if the source is writable). For path-based caslibs, this physically removes the file.
      parameters:
        - name: serverName
          description: Server name containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name whose source contains the table.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: The table name to be deleted.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when a session specific Caslib is being accessed).
          in: query
          required: false
          schema:
            type: string
        - name: sourceTableName
          description: The source file name to delete. This name should be the sourceTableName returned by a GET on this table resource. In general, it must be a possible source file for the table being referenced. For example, if the URL references the table MYTABLE, deletion of yourtable.sashdat would not be allowed, but deletion of MyTable.sashdat would be permitted. Deletion of the source table for non-path-based caslibs is not supported.
          in: query
          required: true
          schema:
            type: string
        - name: quiet
          description: Return success even if source table does not exist.
          in: query
          required: true
          schema:
            type: boolean
        - name: removeAcs
          description: Remove access controls associated with the source table.
          in: query
          required: true
          schema:
            type: boolean
      responses:
        "204":
          description: The source table was deleted.
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
    get:
      operationId: getTable
      summary: Get a table
      description: Retrieves table information.
      parameters:
        - name: serverName
          description: Server name for which the table is being requested.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: Table name requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when session-specific table is being requested).
          in: query
          required: false
          schema:
            type: string
        - name: detailGroups
          description: "A comma-separated list of detail groups to return in the representation. Some detail groups require more time to retrieve. This parameter allows opting-in to the following detail groups in cases where they are not already included: <ul> <li>all - Include all detail groups</li> <li>unloaded Columns - Include column counts for unloaded tables. This information is retrieved if available from the source.</li> <li>unloadedRows - Include row counts for unloaded tables. This information is retrieved if available from the source. Row counts from HDFS are not provided.</li> </ul>"
          in: query
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - all
                - unloadedColumns
                - unloadedRows
      responses:
        "200":
          description: The request succeeded. The table with the specified name was returned. In the case that the loaded table exists in both session and global scope, the single session scope table will be returned. This is consistent with CAS, which will always operate against the table in session scope when both a global and session scope table with the same name exists.
          content:
            application/vnd.sas.cas.table+json:
              schema:
                $ref: "#/components/schemas/tableDetails"
              examples:
                tableDetails:
                  $ref: "#/components/examples/tableDetailsExample"
            application/json:
              schema:
                $ref: "#/components/schemas/tableDetails"
              examples:
                tableDetails:
                  $ref: "#/components/examples/tableDetailsExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.table+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
    post:
      operationId: saveTable
      summary: Save a table
      description: Saves a CAS table to a source table.
      parameters:
        - name: serverName
          description: Server name for which the table is being accessed.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: Table name being saved.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when session-specific table is being accessed).
          in: query
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.table.save.request+json:
            schema:
              $ref: "#/components/schemas/casSaveRequest"
            examples:
              casSaveRequest:
                $ref: "#/components/examples/casSaveRequestExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casSaveRequest"
            examples:
              casSaveRequest:
                $ref: "#/components/examples/casSaveRequestExample"
        required: true
      responses:
        "201":
          description: The table was saved successfully.
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.table+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
    patch:
      operationId: appendTable
      summary: Append a table
      description: Appends content to the table from a secondary CAS table.
      parameters:
        - name: serverName
          description: Server name for which the tables are being accessed.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the target table.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: Table name of the target table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (used when a session-specific table is being accessed).
          in: query
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.table.append.request+json:
            schema:
              $ref: "#/components/schemas/casAppendRequest"
            examples:
              casAppendRequestExample:
                $ref: "#/components/examples/casAppendRequestExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casAppendRequest"
            examples:
              casAppendRequestExample:
                $ref: "#/components/examples/casAppendRequestExample"
        required: true
      responses:
        "200":
          description: The table was appended successfully.
        "400":
          description: The request was invalid.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/columns":
    get:
      operationId: getColumns
      summary: Get a list of columns in a table
      description: Returns a collection of column info available for a table. Supports SAS standard paging query parameters. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.column+json.
      parameters:
        - name: tableName
          description: The name of table for which column info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: filter
          description: "Filter criteria for returned items. The valid filter fields are the first-level fields in each item. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries: <ul> <li>Search by name starting with: filter=startsWith(name, 'CAS')</li> <li>Search by name: filter=eq(name, 'CASUSER')</li> <li>Search for multiple items: filter=in(name, 'CASUSER', 'Public')</li> </ul>"
          in: query
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          description: "Sort returned items. The sort criteria supports the first-level fields in each item. Some sample sorts: <ul> <li>Sort by ascending name: sortBy=name:ascending</li> <li>Sort by descending name: sortBy=name:descending</li> </ul> Sorting is not performed if this query parameter is omitted."
          in: query
          schema:
            type: string
            format: sort-criteria
        - name: excludeItemLinks
          description: Determines whether item links are excluded from results. Defaults to true.
          in: query
          schema:
            type: boolean
      responses:
        "200":
          description: The requested table's column information was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casColumnCollection"
              examples:
                casColumnCollection:
                  $ref: "#/components/examples/casColumnCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casColumnCollection"
              examples:
                casColumnCollection:
                  $ref: "#/components/examples/casColumnCollectionExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
    post:
      operationId: createColumn
      summary: Create a Column
      description: >
        Adds a new column to a table.  Since adding a column to a table modifies

        the in-memory structure of the table, the addition of a column creates a copy of the original

        table, introducing the new column in the copy.  The original table is then removed
      parameters:
        - name: serverName
          description: Server name for the operation.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name containing the input table.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: The table name.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID (useful when session-specific Caslib is desired).
          in: query
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.column.create.request:
            schema:
              $ref: "#/components/schemas/casColumnCreateRequest"
            examples:
              json:
                $ref: "#/components/examples/casColumnCreateRequestExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casColumnCreateRequest"
            examples:
              json:
                $ref: "#/components/examples/casColumnCreateRequestExample"
      responses:
        "201":
          description: The Column was created successfully. Information about the created Column is returned.
          headers:
            Location:
              description: The location of the newly created resource.
              schema:
                type: string
          content:
            application/vnd.sas.cas.column+json:
              schema:
                $ref: "#/components/schemas/casColumn"
              examples:
                caslib:
                  $ref: "#/components/examples/casColumnExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casColumn"
              examples:
                caslib:
                  $ref: "#/components/examples/casColumnExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.column+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/columns/{columnName}":
    get:
      operationId: getColumn
      summary: Get column information
      description: Returns information about a single column.
      parameters:
        - name: tableName
          description: The name of table for which column info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: columnName
          description: The name of the column contained in the table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The requested column information was returned.
          content:
            application/vnd.sas.cas.column+json:
              schema:
                $ref: "#/components/schemas/casColumn"
            application/json:
              schema:
                $ref: "#/components/schemas/casColumn"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.column+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
    delete:
      operationId: deleteColumn
      summary: Remove a column
      description: Removes a Column from a loaded table
      parameters:
        - name: serverName
          description: Server name for the operation.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name containing the input table.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: The table name.
          in: path
          required: true
          schema:
            type: string
        - name: columnName
          description: The column name to be deleted.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID on which to perform the operation.
          in: query
          required: false
          schema:
            type: string
      responses:
        "204":
          description: The Column was removed.
        "400":
          description: The request parameters were invalid.
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/columns/{columnName}/distinctCount":
    get:
      operationId: getColumnDistinctCount
      summary: Get the distinct count for a column
      description: Returns the distinct and missing counts for a single column in the loaded CAS table
      parameters:
        - name: tableName
          description: The name of table for which column info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: columnName
          description: The name of column for which distance and missing info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The requested table's distinct and missing count information for a given column was returned.
          content:
            application/vnd.sas.cas.column.distinct.count+json:
              schema:
                $ref: "#/components/schemas/casColumnDistinctCount"
              examples:
                casColumnDistinctCount:
                  $ref: "#/components/examples/casColumnDistinctCountExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casColumnDistinctCount"
              examples:
                casColumnDistinctCount:
                  $ref: "#/components/examples/casColumnDistinctCountExample"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/columns/{columnName}/distinctValues":
    get:
      operationId: getColumnDistinctValues
      summary: Get distinct values for a column
      description: Returns a collection of distinct values for a single column in a single loaded CAS table. Supports SAS standard paging query parameters. Supports SAS standard paging query parameters, sorting, and filtering. Returned values in the collection are all of the type of the column.
      parameters:
        - name: tableName
          description: The name of table for which column info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: columnName
          description: The name of column for which distinct values info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
      responses:
        "200":
          description: The requested column's distinct values were returned.
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/columns/{columnName}/frequency":
    get:
      operationId: getColumnFrequency
      summary: Get the frequency for a column
      description: Returns the frequency for a single column in the loaded CAS table.
      parameters:
        - name: tableName
          description: The name of table for which column info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: columnName
          description: The name of column for which frequency info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
        - name: limit
          description: The optional limit of the number of items to retrieve. If omitted, a default of 50 will be returned. If set to 0, a limit of 1000 will be returned.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The requested table's frequency information for a given column was returned.
          content:
            application/vnd.sas.cas.column.frequency+json:
              schema:
                $ref: "#/components/schemas/casColumnFrequency"
            application/json:
              schema:
                $ref: "#/components/schemas/casColumnFrequency"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
    post:
      operationId: createColumnFrequencyTable
      summary: Get all frequency values for a column
      description: Creates a CAS table containing the frequency for a single column in the loaded CAS table. The result is output to the new CAS table requested by the passed query parameters.
      parameters:
        - name: tableName
          description: The name of the input table for which column frequency is requested.
          in: path
          required: true
          schema:
            type: string
        - name: columnName
          description: The name of column for which frequency info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the input Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the input table.
          in: path
          required: true
          schema:
            type: string
        - name: outputCaslibName
          description: The name of the Caslib for the output CAS table.
          in: query
          required: true
          schema:
            type: string
        - name: outputTableName
          description: "The name of output CAS table. The following columns of interest will be present in the output table: <table> <tr><th>Column Name</th><th>Content</th></tr> <tr><td>Frequency</td><td> The frequency of the value</td></tr> <tr><td>FmtVar</td><td> The formatted value</td></tr> <tr><td>CharVar</td><td> For a character column, the unformatted value</td></tr> <tr><td>NumVar</td><td> For a numeric column, the unformatted value</td></tr> </table>"
          in: query
          required: true
          schema:
            type: string
        - name: outputTableScope
          description: The scope of the output table. Valid values in include session and global. Defaults to global. Global caslibs can contain global and session tables. Session caslibs can only contain session tables.
          in: query
          required: false
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
        - name: sortBy
          description: "The optional order by which to sort the results. If omitted, sorting is not performed. An ascending sort is more performant than a descending sort. Valid sort column names include: Frequency and FmtVar. Valid sort order values include: ascending and descending. When sorting by Frequency, the FmtVar is automatically used as the secondary ascending sort. Sample sortBy values: <table> <tr><th>Value of sortBy</th><th>Result</th></tr> <tr><td> Frequency:ascending</td><td>sort by ascending Frequency, ascending FmtVar</td></tr> <tr><td> Frequency:descending</td><td>sort by descending Frequency, ascending FmtVar</td></tr> <tr><td> FmtVar:ascending</td><td>sort by ascending FmtVar</td></tr> <tr><td> FmtVar:descending</td><td>sort by descending FmtVar</td></tr> </table>"
          in: query
          required: false
          schema:
            type: string
      responses:
        "201":
          description: The table details for the output table was returned.
          content:
            application/vnd.sas.cas.table+json:
              schema:
                $ref: "#/components/schemas/tableDetails"
              examples:
                tableDetails:
                  $ref: "#/components/examples/tableDetailsExample"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/columns/{columnName}/summaryStatistics":
    get:
      operationId: getColumnSummaryStatistics
      summary: Get the summary for a column
      description: Returns the summary for a single numeric column in the loaded CAS table.
      parameters:
        - name: tableName
          description: The name of table for which column info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: columnName
          description: The name of column for which Summary info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The requested table's summary information for a given column was returned.
          content:
            application/vnd.sas.cas.column.summary.statistics+json:
              schema:
                $ref: "#/components/schemas/casColumnSummaryStatistics"
            application/json:
              schema:
                $ref: "#/components/schemas/casColumnSummaryStatistics"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.column.summary.statistics+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/scope":
    put:
      operationId: updateTableScope
      summary: Change the scope of a loaded CAS table
      description: Changes the scope of a loaded CAS table from session to global scope (promote). Operation valid only on a session table. Promote target is the same Caslib that contains the session table.
      parameters:
        - name: serverName
          description: Server name for which the table is being accessed.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: Table name requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The session ID.
          in: query
          required: true
          schema:
            type: string
        - name: value
          description: The scope to which to change the table. Valid values include global.
          in: query
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The requested action was successful. New scope is returned. Valid values include session or global.
        "400":
          description: The request was invalid.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
            text/plain:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/state":
    put:
      operationId: updateTableState
      summary: Load or unload a table
      description: Modifies the state of a table to loaded or unloaded. Returns loaded or unloaded to indicate the state after the operation.
      parameters:
        - name: serverName
          description: Server name containing the table whose state is being modified.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The Caslib name containing the table whose state should be modified.
          in: path
          required: true
          schema:
            type: string
        - name: tableName
          description: The table name whose state is being modified.
          in: path
          required: true
          schema:
            type: string
        - name: value
          description: State to which to set the table. Valid values include loaded or unloaded.
          in: query
          required: true
          schema:
            type: string
        - name: createRelationships
          deprecated: true
          description: Indicates whether relationships data (lineage) should be created when performing the load. Defaults to false. (deprecated)
          in: query
          required: false
          schema:
            type: boolean
        - name: sessionId
          description: Session ID containing the table.
          in: query
          required: false
          schema:
            type: string
        - name: scope
          description: When value=loaded, the optional scope to which to load the table. Valid values include global and session. Defaults to global. If specified at the same time as a casLoadRequest body containing a scope setting, the casLoadRequest scope will override the value specified on this query parameter.
          in: query
          required: false
          schema:
            type: string
        - name: sourceTableName
          description: "The source file or table name from which to load the CAS table. If not specified: <ul> <li>For path-based caslibs, the source file used will be the first matching .sashdat, .sas7bdat, .parquet or .csv file found, in that order, independent of case.</li> <li>For non-path-based caslibs (such as DBMS libraries), the source table used will be the first matching source table name found, independent of case.</li> </ul>"
          in: query
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.table.load.request+json:
            schema:
              $ref: "#/components/schemas/casLoadRequest"
            examples:
              casLoadRequest:
                $ref: "#/components/examples/casLoadRequestExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casLoadRequest"
            examples:
              casLoadRequest:
                $ref: "#/components/examples/casLoadRequestExample"
        description: Optional body, providing greater control over the output when a state change to loaded is requested. In general, state changes will not require this body, and should be performed sending an empty body. When an empty body is submitted, the service will change state of referenced table in the library in which it resides.
      responses:
        "200":
          description: The requested action was successful. The state is returned. Valid values are loaded and unloaded.
        "400":
          description: The request was invalid.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
            text/plain:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/summaryStatistics":
    get:
      operationId: getTableSummaryStatistics
      summary: Get the summary for all numeric columns
      description: Returns the summary for the numeric column values in the loaded CAS table Returns a collection of summaries for the numeric columns in a loaded CAS table. Supports SAS standard paging query parameters. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.column.summary.statistics+json.
      parameters:
        - name: tableName
          description: The name of table for which column info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
      responses:
        "200":
          description: The requested table's summary information for all numeric columns was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casColumnSummaryStatistics"
            application/json:
              schema:
                $ref: "#/components/schemas/casColumnSummaryStatistics"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
  "/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/distinctCounts":
    get:
      operationId: getColumnsDistinctCount
      summary: Get the distinct count for all columns
      description: Returns a collection of distinct count information for the columns in a loaded CAS table. Supports SAS standard paging query parameters. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.column.distinct.count+json.
      parameters:
        - name: tableName
          description: The name of table for which distinct count info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the table.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
      responses:
        "200":
          description: The requested table's distinct and missing count information for all columns was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casColumnDistinctCount"
              examples:
                casColumnDistinctCount:
                  $ref: "#/components/examples/casColumnDistinctCountExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casColumnDistinctCount"
              examples:
                casColumnDistinctCount:
                  $ref: "#/components/examples/casColumnDistinctCountExample"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Tables
  "/servers/{serverName}/connection":
    get:
      operationId: getServerConnection
      summary: Get connection information for CAS server
      description: Returns the connection information for a CAS server definition.
      parameters:
        - name: serverName
          description: The name of the server.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Connection information for the requested CAS server was returned.
          content:
            application/vnd.sas.cas.server.connection+json:
              schema:
                $ref: "#/components/schemas/casServerConnection"
              examples:
                casServerConnection:
                  $ref: "#/components/examples/casServerConnectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerConnection"
              examples:
                casServerConnection:
                  $ref: "#/components/examples/casServerConnectionExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.server.connection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Servers
  "/servers/{serverName}/metrics":
    get:
      operationId: getServerMetrics
      summary: Get metrics for the CAS server
      description: Returns detailed server metrics about a specific CAS server.
      parameters:
        - name: serverName
          description: The name of the server.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The requested server's metrics were returned.
          content:
            application/vnd.sas.cas.server.metrics+json:
              schema:
                $ref: "#/components/schemas/casServerMetrics"
              examples:
                casServerMetrics:
                  $ref: "#/components/examples/casServerMetricsExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerMetrics"
              examples:
                casServerMetrics:
                  $ref: "#/components/examples/casServerMetricsExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.server.metrics+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Servers
  "/servers/{serverName}/sessions":
    get:
      operationId: getSessions
      summary: Get a list of sessions
      description: Returns a collection of sessions available on the CAS server. Supports SAS standard paging query parameters. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.session.summary+json. Returned sessions are consistent with the permissions of the user. Normally, only sessions owned by the authenticated user are returned. If a user has administrative privileges, and has elevated their session to use those privileges (see CAS Access Management microservice), all sessions on the server will be visible.
      parameters:
        - name: serverName
          description: Server name for which sessions are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: filter
          description: "Filter criteria for returned items. The valid filter fields are the first-level fields in each item. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries: <ul> <li>Search by name starting with: filter=startsWith(name, 'CAS')</li> <li>Search by name: filter=eq(name, 'CASUSER')</li> <li>Search for multiple items: filter=in(name, 'CASUSER', 'Public')</li> </ul>"
          in: query
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          description: "Sort returned items. The sort criteria supports the first-level fields in each item. Some sample sorts: <ul> <li>Sort by ascending name: sortBy=name:ascending</li> <li>Sort by descending name: sortBy=name:descending</li> </ul> The default sort is by name in ascending order."
          in: query
          schema:
            type: string
            format: sort-criteria
        - name: excludeItemLinks
          description: Determines whether item links are excluded from results. Defaults to false.
          in: query
          schema:
            type: boolean
        - name: sessionId
          description: Session ID to use when connecting to retrieve the list of sessions. If not specified, a temporary session will be used.
          in: query
          schema:
            type: string
      responses:
        "200":
          description: The list of sessions for the requested CAS server was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casSessionCollection"
              examples:
                casSessionCollection:
                  $ref: "#/components/examples/casSessionCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casSessionCollection"
              examples:
                casSessionCollection:
                  $ref: "#/components/examples/casSessionCollectionExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Sessions
    post:
      operationId: createSession
      summary: Create a session
      description: Creates a new session and returns session information.
      parameters:
        - name: serverName
          description: Server name in which the session is to be created.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.session+json:
            schema:
              $ref: "#/components/schemas/casSession"
          application/json:
            schema:
              $ref: "#/components/schemas/casSession"
      responses:
        "201":
          description: Information about the created session was returned.
          content:
            application/vnd.sas.cas.session+json:
              schema:
                $ref: "#/components/schemas/casSession"
            application/json:
              schema:
                $ref: "#/components/schemas/casSession"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.session+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Sessions
  "/servers/{serverName}/sessions/{sessionId}":
    delete:
      operationId: deleteSession
      summary: End a session
      description: Terminates a session. Sessions that can be terminated are consistent with the permissions of the user. Normally, only sessions owned by the authenticated user can be ended. If a user has administrative privileges, and has elevated their session to use those privileges (see CAS Access Management microservice), all sessions on the server can be ended.
      parameters:
        - name: serverName
          description: Server name containing the session.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID on which to perform the operation.
          in: path
          required: true
          schema:
            type: string
        - name: superUserSessionId
          description: Session ID being used to delete the specified sessionId with. Has to be a superuser.
          in: query
          required: false
          schema:
            type: string
        - name: force
          description: Forces the termination of a running CAS action for this session. By default, a session does not terminate until all actions have completed.
          in: query
          required: false
          schema:
            type: string
      responses:
        "204":
          description: The session was terminated.
        "400":
          description: The request was invalid.
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested session in the requested server name does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Sessions
    get:
      operationId: getSession
      summary: Get a session
      description: Retrieves a single session for a CAS server.
      parameters:
        - name: serverName
          description: Server name containing the session being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID being requested.
          in: path
          required: true
          schema:
            type: string
        - name: superUserSessionId
          description: Session ID being used to view specified sessionId with. Has to be a superuser.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: Information about the requested session was returned.
          content:
            application/vnd.sas.cas.session.summary+json:
              schema:
                $ref: "#/components/schemas/casSessionSummary"
              examples:
                casSessionSummary:
                  $ref: "#/components/examples/casSessionSummaryExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casSessionSummary"
              examples:
                casSessionSummary:
                  $ref: "#/components/examples/casSessionSummaryExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.session.summary+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested session in the requested server name does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Sessions
    post:
      operationId: updateTransactionState
      summary: Set the transaction state of a CAS session
      description: Sets the state of the session's transaction (valid values are start, commit, or cancel). Typical workflow would be to use this endpoint to start a transaction on the session. Next, use casAccessManagement lock transactions to lock the necessary objects. Then, modify permissions on those objects. Finally, commit or cancel the changes using this endpoint again.
      parameters:
        - name: serverName
          description: The ID of the CAS server the user wishes to check the session state on.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The session ID of the CAS session that is being checked.
          in: path
          required: true
          schema:
            type: string
        - name: action
          description: Action to take regarding transaction. Valid values are start, commit, and cancel.
          in: query
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The requested session's transaction state was returned. Valid values include started or none.
        "400":
          description: The request was invalid.
          content:
            text/plain:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
        "500":
          description: The request could not be fulfilled because of an unexpected server error.
      tags:
        - Sessions
  "/servers/{serverName}/sessions/{sessionId}/state":
    get:
      operationId: getSessionState
      summary: Get the state of a CAS session
      description: Returns the running state of a specific CAS session.
      parameters:
        - name: serverName
          description: The name of the server.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID for which to obtain state.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The requested session's running state was returned. Valid values include running or stopped.
        "400":
          description: The request was invalid.
          content:
            text/plain:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Sessions
  "/servers/{serverName}/state":
    get:
      operationId: getServerState
      summary: Get the state of a CAS server
      description: Returns the running state of a specific CAS server.
      parameters:
        - name: serverName
          description: The name of the server.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The requested server's running state was returned. Valid values include running or stopped for a final settled state.  Interim values (while the server state is in transition) include starting or stopping.
        "400":
          description: The request was invalid.
          content:
            text/plain:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Servers
    put:
      operationId: updateServerState
      summary: Change the state of a CAS server
      description: Request a change to the state of a CAS server. Call with an Accept header of application/json;text/plain to properly receive both success and error response types. After the state change is requested, the server will transition to the requested state.  Check the interim server state by making a GET call on the same endpoint.
      parameters:
        - name: serverName
          description: The name of the CAS server.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the CAS session.
          in: query
          required: false
          schema:
            type: string
        - name: value
          description: >
            State to which to set the server:
              * `running` - start the CAS server if it is not already started.
              * `stopped` - shutdown the CAS server if it is currently running.
          in: query
          required: true
          schema:
            type: string
            enum:
              - running
              - stopped
      responses:
        "200":
          description: The request was completed successfully.  States starting and stopping are temporary states while the server is in transition.
          content:
            text/plain:
              schema:
                $ref: "#/components/schemas/updateServerState"
              examples:
                updateServerState:
                  $ref: "#/components/examples/updateServerStateExample"
        "400":
          description: The request was invalid.
          content:
            text/plain:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Servers
  "/servers/{serverName}/nodes":
    get:
      operationId: getNodes
      summary: Get a list of nodes
      description: Returns a collection of nodes on the CAS server. Supports SAS standard paging query parameters. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.server.node+json.
      parameters:
        - name: serverName
          description: Server name for which nodes are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID to use when connecting to retrieve the list of nodes. If not specified, a temporary session will be used.
          in: query
          schema:
            type: string
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: filter
          description: "Filter criteria for returned items. The valid filter fields are the first-level fields in each item. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. A sample query to return only the worker node: `filter=eq(role,controller)`"
          in: query
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          description: "Sort returned items. The sort criteria supports the first-level fields in each item. An example sort: `sortBy=ipAddress:descending`. The default sort is by name in ascending order."
          in: query
          schema:
            type: string
            format: sort-criteria
      responses:
        "200":
          description: The list of nodes for the requested CAS server was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casServerNodeCollection"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerNodeCollection"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Nodes
    post:
      operationId: createNode
      summary: Add a node
      description: Adds a worker node to a CAS server and returns the nodes information.
      parameters:
        - name: serverName
          description: Server name in which the node is to be created.
          in: path
          required: true
          schema:
            type: string
        - name: superUserSessionId
          description: Session ID being used to add a node. Has to be a superuser.
          in: query
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.server.node+json:
            schema:
              $ref: "#/components/schemas/casServerNodeCreateRequest"
            examples:
              casServerNodeCreateRequest:
                $ref: "#/components/examples/casServerNodeCreateRequestExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casServerNodeCreateRequest"
            examples:
              casServerNodeCreateRequest:
                $ref: "#/components/examples/casServerNodeCreateRequestExample"
      responses:
        "201":
          description: Information about the created node was returned.
          content:
            application/vnd.sas.cas.server.node+json:
              schema:
                $ref: "#/components/schemas/casServerNode"
              examples:
                casServerNode:
                  $ref: "#/components/examples/casServerNodeExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerNode"
              examples:
                casServerNode:
                  $ref: "#/components/examples/casServerNodeExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.server.node+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Nodes
  "/servers/{serverName}/nodes/{nodeId}":
    delete:
      operationId: deleteNode
      summary: Remove a node
      description: Removes a worker node from a CAS server.
      parameters:
        - name: serverName
          description: Server name containing the session.
          in: path
          required: true
          schema:
            type: string
        - name: nodeId
          description: Node ID on which to perform the operation.
          in: path
          required: true
          schema:
            type: string
        - name: superUserSessionId
          description: Session ID being used to remove the node. Has to be a superuser.
          in: query
          required: false
          schema:
            type: string
      responses:
        "204":
          description: The node was removed.
        "400":
          description: The request was invalid.
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested session in the requested server name does not exist, or the node does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Nodes
    get:
      operationId: getNode
      summary: Get a node
      description: Retrieves a single node for a CAS server.
      parameters:
        - name: serverName
          description: Server name containing the session being requested.
          in: path
          required: true
          schema:
            type: string
        - name: nodeId
          description: Node ID on which to perform the operation.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID to use when connecting to retrieve the node. If not specified, a temporary session will be used.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: Information about the requested node was returned.
          content:
            application/vnd.sas.cas.server.node+json:
              schema:
                $ref: "#/components/schemas/casServerNode"
              examples:
                casServerNode:
                  $ref: "#/components/examples/casServerNodeExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerNode"
              examples:
                casServerNode:
                  $ref: "#/components/examples/casServerNodeExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.server.node+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested session in the requested server name does not exist, or the node requested does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Nodes
  "/servers/{serverName}/dataConnectors":
    get:
      x-sas-since: "4"
      operationId: getDataConnectors
      summary: Get a list of data connectors for a CAS server
      description: >
        Returns a collection of data connectors for the respective CAS server. Standard paging, filtering, and sorting options are provided. The members of this collection use the application/vnd.sas.data.engine media type representation.
      tags:
        - Servers
      parameters:
        - name: serverName
          in: path
          description: The CAS server name for which to obtain data connectors.
          required: true
          schema:
            type: string
        - name: start
          in: query
          description: The starting index of the first data connector in a page. Defaults to 0.
          schema:
            type: integer
        - name: limit
          in: query
          description: >
            Maximum number of data connectors to return in this page of results. The actual number of returned data connectors might be less if the collection has been exhausted. Defaults to 10.
          schema:
            type: integer
        - name: filter
          in: query
          description: "Filter criteria for returned data connectors. <br> The valid filter fields are the top-level fields returned for items in the collection.  For example, name, nickname, legalName, and so on.  The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Sample queries include the following:<br> <ul> <li>Search by nickname starting with: filter=startsWith(nickname, 'TERA')</li> <li>Search by name: filter=eq(name, 'impala')</li> <li>Search for multiple items: filter=in(name, 'hdfs', 'dnfs')</li> <li>Search by name ending with: filter=endsWith(name, 'fs')</li> </ul>"
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          in: query
          description: "Sort returned items. The sort criteria supports the top-level fields returned for items in the collection such as name, nickname, and legalName. Sample sorts include the following: <br> <ul> <li>Sort ascending by name: sortBy=name:ascending</li> <li>Sort descending by nickname: sortBy=nickname:descending</li> </ul> <br>The default sort is by name in ascending order."
          schema:
            type: string
            format: sort-criteria
        - name: sessionId
          in: query
          description: Session ID to use when connecting to retrieve the list of data connectors.  If not specified, a temporary session will be used.
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/engineCollection"
              examples:
                engineCollection:
                  $ref: "#/components/examples/engineCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/engineCollection"
              examples:
                engineCollection:
                  $ref: "#/components/examples/engineCollectionExample"
        "400":
          description: The request was invalid. An invalid filter or combination of request parameters was provided.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: >
            No data connector exists at the requested path.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
  "/servers/{serverName}/dataConnectors/{dataConnectorName}":
    get:
      x-sas-since: "4"
      operationId: getDataConnector
      summary: Get a single data connector
      description: Returns information about a single data connector based on its unique name.
      parameters:
        - name: serverName
          in: path
          description: The CAS server name for which to get the data connector.
          required: true
          schema:
            type: string
        - name: dataConnectorName
          in: path
          required: true
          description: The unique name of this data connector within this CAS server.
          schema:
            type: string
        - name: sessionId
          in: query
          description: Session ID to use when connecting to retrieve the data connector.  If not specified, a temporary session is used.
          schema:
            type: string
      tags:
        - Servers
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.data.engine+json:
              schema:
                $ref: "#/components/schemas/engine"
              examples:
                engine:
                  $ref: "#/components/examples/engineExample"
            application/json:
              schema:
                $ref: "#/components/schemas/engine"
              examples:
                engine:
                  $ref: "#/components/examples/engineExample"
        "404":
          description: >
            No CAS server or data connector exists at the requested path.
          content:
            application/vnd.sas.data.engine+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
    head:
      x-sas-since: "4"
      operationId: headersForDataConnectior
      summary: Check data connector availability
      description: Returns the headers that the corresponding GET returns. Clients use this to determine whether the data connector exists.
      tags:
        - Servers
      parameters:
        - name: serverName
          in: path
          description: The CAS server name for which to get the data connector.
          required: true
          schema:
            type: string
        - name: dataConnectorName
          in: path
          required: true
          description: The unique name of this data connector within this CAS server.
          schema:
            type: string
        - name: sessionId
          in: query
          description: Session ID to use when connecting to retrieve the data connector.  If not specified, a temporary session is used.
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.data.engine+json:
              schema:
                $ref: "#/components/schemas/emptyResponse"
            application/json:
              schema:
                $ref: "#/components/schemas/emptyResponse"
        "404":
          description: >
            No CAS server of data connector exists at the requested path.
  "/servers/{serverName}/dataConnectors/{dataConnectorName}/definition":
    get:
      x-sas-since: "4"
      operationId: getDataConnectorDefinition
      summary: Get data connector definition
      description: Returns the definition of the data connector as application or schema+json. This definition includes all available data connector options.
      parameters:
        - name: serverName
          in: path
          description: The CAS server name for which to get the data connector.
          required: true
          schema:
            type: string
        - name: dataConnectorName
          in: path
          required: true
          description: The unique name of this data connector within this CAS server.
          schema:
            type: string
        - name: sessionId
          in: query
          description: Session ID to use when connecting to retrieve the data connector.  If not specified, a temporary session is used.
          schema:
            type: string
      tags:
        - Servers
      responses:
        "200":
          description: The request succeeded.
          content:
            application/schema+json:
              schema:
                $ref: "#/components/schemas/engineDefinition"
              examples:
                engineDefinition:
                  $ref: "#/components/examples/engineDefinitionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/engineDefinition"
              examples:
                engineDefinition:
                  $ref: "#/components/examples/engineDefinitionExample"
        "404":
          description: >
            No CAS server or data connector exists at the requested path.
          content:
            application/schema+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
    head:
      x-sas-since: "4"
      operationId: headersForDataSourceDefinition
      summary: Check data source definition availability
      description: Returns the headers that the corresponding GET returns. Clients might use this to determine whether the data source definition exists.
      tags:
        - Servers
      parameters:
        - name: serverName
          in: path
          description: The CAS server name for which to get the data connector.
          required: true
          schema:
            type: string
        - name: dataConnectorName
          in: path
          required: true
          description: The unique name of this data connector within this CAS server.
          schema:
            type: string
        - name: sessionId
          in: query
          description: Session ID to use when connecting to retrieve the data connector.  If not specified, a temporary session is used.
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/schema+json:
              schema:
                $ref: "#/components/schemas/emptyResponse"
            application/json:
              schema:
                $ref: "#/components/schemas/emptyResponse"
        "404":
          description: >
            No CAS server or data source definition exists at the requested path.
  "/servers/{serverName}/loggers":
    get:
      operationId: getLoggers
      summary: Get a list of loggers
      description: Returns a collection of loggers on the CAS server. Supports SAS standard paging query parameters. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.server.logger.summary+json.
      parameters:
        - name: serverName
          description: Server name for which nodes are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID to use when connecting to retrieve the list of nodes. If not specified, a temporary session is used.
          in: query
          schema:
            type: string
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: filter
          description: "Filter criteria for returned items. The valid filter fields are the first-level fields in each item. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. A sample query to return only the worker node: `filter=eq(role,controller)`"
          in: query
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          description: "Sort returned items. An example sort: `sortBy=level:descending`. The default sort is by name in ascending order."
          in: query
          schema:
            type: string
            format: sort-criteria
      responses:
        "200":
          description: The list of loggers for the requested CAS server was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casLoggerCollection"
              examples:
                casLoggerCollection:
                  $ref: "#/components/examples/casLoggerCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casLoggerCollection"
              examples:
                casLoggerCollection:
                  $ref: "#/components/examples/casLoggerCollectionExample"
        "400":
          description: An error occurred.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Loggers
    post:
      operationId: createLogger
      summary: Add a logger
      description: Adds a logger to a CAS server and returns the logger information.
      parameters:
        - name: serverName
          description: Server name in which the logger is to be created.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.server.logger+json:
            schema:
              $ref: "#/components/schemas/casServerLogger"
            examples:
              casServerLogger:
                $ref: "#/components/examples/casServerLoggerExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casServerLogger"
            examples:
              casServerLogger:
                $ref: "#/components/examples/casServerLoggerExample"
        required: true
      responses:
        "201":
          description: Information about the created logger was returned.
          headers:
            Location:
              description: The location of the newly created resource.
              schema:
                type: string
          content:
            application/vnd.sas.cas.server.logger+json:
              schema:
                $ref: "#/components/schemas/casServerLogger"
              examples:
                casServerLogger:
                  $ref: "#/components/examples/casServerLoggerExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerLogger"
              examples:
                casServerLogger:
                  $ref: "#/components/examples/casServerLoggerExample"
        "400":
          description: An error occurred.
          content:
            application/vnd.sas.cas.server.logger+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Loggers
  "/servers/{serverName}/loggers/{loggerName}":
    get:
      operationId: getLogger
      summary: Get a logger
      description: Retrieves a single logger for a CAS server.
      parameters:
        - name: serverName
          description: Server name for which the logger information is being requested. The media type passed to the request determines if either detailed or summary information is returned. In this version of the API, the content of both are the same. Passing an accept header of application/json is equivalent to requesting detailed information.
          in: path
          required: true
          schema:
            type: string
        - name: loggerName
          description: Logger to delete.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID to use when connecting to retrieve the logger. If not specified, a temporary session is used.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The requested information about the logger was returned.
          content:
            application/vnd.sas.cas.server.logger.summary+json:
              schema:
                $ref: "#/components/schemas/casServerLoggerSummary"
              examples:
                casServerLoggerSummary:
                  $ref: "#/components/examples/casServerLoggerSummaryExample"
            application/vnd.sas.cas.server.logger+json:
              schema:
                $ref: "#/components/schemas/casServerLoggerSummary"
              examples:
                casServerLoggerSummary:
                  $ref: "#/components/examples/casServerLoggerSummaryExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerLoggerSummary"
              examples:
                casServerLoggerSummary:
                  $ref: "#/components/examples/casServerLoggerSummaryExample"
        "400":
          description: The request was invalid.
          content:
            application/vnd.sas.cas.server.logger.summary+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/vnd.sas.cas.server.logger+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested session in the requested server name does not exist, or the logger requested does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Loggers
    put:
      operationId: updateLogger
      summary: Update a logger
      description: Updates a logger for a CAS server.
      parameters:
        - name: serverName
          description: Server name for which the logger information is being updated.
          in: path
          required: true
          schema:
            type: string
        - name: loggerName
          description: Logger to delete.
          in: path
          required: true
          schema:
            type: string
        - name: sessionId
          description: Session ID to use when connecting to update the logger. If not specified, a temporary session is used.
          in: query
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.server.logger+json:
            schema:
              $ref: "#/components/schemas/casServerLogger"
            examples:
              casServerLogger:
                $ref: "#/components/examples/casServerLoggerExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casServerLogger"
            examples:
              casServerLogger:
                $ref: "#/components/examples/casServerLoggerExample"
        description: The logger to update.
        required: true
      responses:
        "200":
          description: Updated information for the specified logger was returned.
          content:
            application/vnd.sas.cas.server.logger+json:
              schema:
                $ref: "#/components/schemas/casServerLogger"
              examples:
                casServerLogger:
                  $ref: "#/components/examples/casServerLoggerExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerLogger"
              examples:
                casServerLogger:
                  $ref: "#/components/examples/casServerLoggerExample"
        "304":
          description: The logger was not modified.
        "400":
          description: An error occurred.
          content:
            application/vnd.sas.cas.server.logger+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested session in the requested server name does not exist, or the logger requested does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Loggers
    delete:
      operationId: deleteLogger
      summary: Remove a logger
      description: Removes a logger from a CAS server.
      parameters:
        - name: serverName
          description: Server name containing the logger.
          in: path
          required: true
          schema:
            type: string
        - name: loggerName
          description: Logger to delete.
          in: path
          required: true
          schema:
            type: string
      responses:
        "204":
          description: The logger was removed.
        "400":
          description: An error occurred.
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested session in the requested server name does not exist, or the logger does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Loggers
  "/servers/{serverName}/policies":
    get:
      operationId: getPolicies
      summary: Get a list of policies
      description: Returns a collection of policies on the CAS server. Supports SAS standard paging query parameters, sorting, and filtering. Schema of items returned in the response collection is included below, and are of type application/vnd.sas.cas.server.policy.summary+json.
      parameters:
        - name: serverName
          description: Server name for which policies are being requested.
          in: path
          required: true
          schema:
            type: string
        - name: start
          description: The starting index of the first item in a page. Defaults to 0.
          in: query
          schema:
            type: integer
        - name: limit
          description: Maximum number of items to return in this page of results. The actual number of returned items can be less if the collection has been exhausted. Defaults to 10.
          in: query
          schema:
            type: integer
        - name: filter
          description: "Filter criteria for returned items. The valid filter fields are the first-level fields in each item. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. A sample query to return only the policies with the word 'priority' in the name: `filter=contains(name,'priority')`"
          in: query
          schema:
            type: string
            format: filter-criteria
        - name: sortBy
          description: "Sort returned items. An example sort: `sortBy=type:descending`. The default sort is by name in ascending order."
          in: query
          schema:
            type: string
            format: sort-criteria
      responses:
        "200":
          description: The list of policies for the requested CAS server was returned.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/casPolicyCollection"
              examples:
                casPolicyCollection:
                  $ref: "#/components/examples/casPolicyCollectionExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casPolicyCollection"
              examples:
                casPolicyCollection:
                  $ref: "#/components/examples/casPolicyCollectionExample"
        "400":
          description: An error occurred.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server or policy does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Policies
    post:
      operationId: createPolicy
      summary: Add a policy
      description: Adds a policy to a CAS server and returns the created policy information.
      parameters:
        - name: serverName
          description: Server name in which the policy is to be created.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.server.policy+json:
            schema:
              $ref: "#/components/schemas/casServerPolicy"
            examples:
              casServerPolicy:
                $ref: "#/components/examples/casServerPolicyExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casServerPolicy"
            examples:
              casServerPolicy:
                $ref: "#/components/examples/casServerPolicyExample"
        required: true
      responses:
        "201":
          description: Information about the created policy was returned.
          headers:
            Location:
              description: The location of the newly created resource.
              schema:
                type: string
          content:
            application/vnd.sas.cas.server.policy+json:
              schema:
                $ref: "#/components/schemas/casServerPolicy"
              examples:
                casServerPolicy:
                  $ref: "#/components/examples/casServerPolicyExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerPolicy"
              examples:
                casServerPolicy:
                  $ref: "#/components/examples/casServerPolicyExample"
        "400":
          description: An error occurred.
          content:
            application/vnd.sas.cas.server.policy+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested CAS server does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Policies
  "/servers/{serverName}/policies/{policyName}":
    get:
      operationId: getPolicy
      summary: Get a policy
      description: Retrieves a single policy for a CAS server.
      parameters:
        - name: serverName
          description: Server name for which the policy information is being requested. The media type passed to the request determines whether detailed or summary information is returned. In this version of the API, the content of both are the same. Passing an accept header of application/json is equivalent to requesting detailed information.
          in: path
          required: true
          schema:
            type: string
        - name: policyName
          description: Policy to delete.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The requested information about the policy was returned.
          content:
            application/vnd.sas.cas.server.policy.summary+json:
              schema:
                $ref: "#/components/schemas/casServerPolicySummary"
              examples:
                casServerPolicySummary:
                  $ref: "#/components/examples/casServerPolicySummaryExample"
            application/vnd.sas.cas.server.policy+json:
              schema:
                $ref: "#/components/schemas/casServerPolicySummary"
              examples:
                casServerPolicySummary:
                  $ref: "#/components/examples/casServerPolicySummaryExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerPolicySummary"
              examples:
                casServerPolicySummary:
                  $ref: "#/components/examples/casServerPolicySummaryExample"
        "400":
          description: An error occurred.
          content:
            application/vnd.sas.cas.server.policy.summary+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/vnd.sas.cas.server.policy+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The requested server name does not exist, or the policy requested does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Policies
    put:
      operationId: updatePolicy
      summary: Update a policy
      description: Updates a policy for a CAS server.
      parameters:
        - name: serverName
          description: Server name for which the policy information is being updated.
          in: path
          required: true
          schema:
            type: string
        - name: policyName
          description: Policy to delete.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.cas.server.policy+json:
            schema:
              $ref: "#/components/schemas/casServerPolicy"
            examples:
              casServerPolicy:
                $ref: "#/components/examples/casServerPolicyExample"
          application/json:
            schema:
              $ref: "#/components/schemas/casServerPolicy"
            examples:
              casServerPolicy:
                $ref: "#/components/examples/casServerPolicyExample"
        description: Fields to update in the existing policy.
        required: true
      responses:
        "200":
          description: Updated information for the specified policy was returned.
          content:
            application/vnd.sas.cas.server.policy+json:
              schema:
                $ref: "#/components/schemas/casServerPolicy"
              examples:
                casServerPolicy:
                  $ref: "#/components/examples/casServerPolicyExample"
            application/json:
              schema:
                $ref: "#/components/schemas/casServerPolicy"
              examples:
                casServerPolicy:
                  $ref: "#/components/examples/casServerPolicyExample"
        "304":
          description: The policy was not modified.
        "400":
          description: An error occurred.
          content:
            application/vnd.sas.cas.server.policy+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: Either the server name does not exist, or the policy for which an update is requested does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
        "412":
          description: Precondition Failed.
          content:
            application/vnd.sas.cas.server.policy+json:
              schema:
                $ref: "#/components/schemas/error2"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
      tags:
        - Policies
    delete:
      operationId: deletePolicy
      summary: Remove a policy
      description: Removes a policy from a CAS server.
      parameters:
        - name: serverName
          description: Server name containing the policy.
          in: path
          required: true
          schema:
            type: string
        - name: policyName
          description: Policy to delete.
          in: path
          required: true
          schema:
            type: string
      responses:
        "204":
          description: The policy was removed.
        "400":
          description: An error occurred.
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/error2"
        "404":
          description: The server name does not exist, or the policy does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Policies
  "/jobs/servers/{serverName}/caslibs/{caslibName}/tables/{tableName}/columns/{columnName}/frequency":
    post:
      operationId: createJobColumnFrequency
      summary: Create a frequency table for a column
      description: Creates a job, which gets the frequency for a single column in the loaded CAS table. The result is output to the new CAS table requested by the passed query parameters.
      parameters:
        - name: tableName
          description: The name of the input table for which column frequency is requested.
          in: path
          required: true
          schema:
            type: string
        - name: columnName
          description: The name of column for which frequency info is requested.
          in: path
          required: true
          schema:
            type: string
        - name: serverName
          description: The name of the server containing the input Caslib.
          in: path
          required: true
          schema:
            type: string
        - name: caslibName
          description: The name of the Caslib containing the input table.
          in: path
          required: true
          schema:
            type: string
        - name: outputCaslibName
          description: The name of the Caslib for the output CAS table.
          in: query
          required: true
          schema:
            type: string
        - name: outputTableName
          description: "The name of output CAS table. The following columns of interest are in the output table: <table> <tr><th>Column Name</th><th>Content</th></tr> <tr><td>Frequency</td><td>The frequency of the value</td></tr> <tr><td>FmtVar</td><td>The formatted value</td></tr> <tr><td>CharVar</td><td>For a character column, the unformatted value</td></tr> <tr><td>NumVar</td><td>For a numeric column, the unformatted value</td></tr> </table>"
          in: query
          required: true
          schema:
            type: string
        - name: outputTableScope
          description: The scope of the output table. Valid values in include session and global. Defaults to global. Global caslibs can contain global and session tables. Session caslibs can only contain session tables.
          in: query
          required: false
          schema:
            type: string
        - name: sessionId
          description: The optional ID of the session containing the Caslib. If unspecified, only tables in global caslibs will be accessible.
          in: query
          required: false
          schema:
            type: string
        - name: sortBy
          description: "The optional order by which to sort the results. If omitted, sorting is not performed. An ascending sort is more performant than a descending sort. Valid sort column names include: Frequency and FmtVar. Valid sort order values include: ascending and descending. When sorting by Frequency, the FmtVar is automatically used as the secondary ascending sort. Sample sortBy values: <table> <tr><th>Value of sortBy</th><th>Result</th></tr> <tr><td>Frequency:ascending</td><td>sort by ascending Frequency, ascending FmtVar</td></tr> <tr><td>Frequency:descending</td><td>sort by descending Frequency, ascending FmtVar</td></tr> <tr><td>FmtVar:ascending</td><td>sort by ascending FmtVar</td></tr> <tr><td>FmtVar:descending</td><td>sort by descending FmtVar</td></tr> </table>"
          in: query
          required: false
          schema:
            type: string
      responses:
        "201":
          description: The asynchronous job for obtaining column frequency was submitted.
          content:
            application/vnd.sas.job.execution.job+json:
              schema:
                $ref: "#/components/schemas/job"
        "404":
          description: The requested CAS server or Caslib does not exist.
        "409":
          description: The request could not be completed due to a conflict with the current state of the resource. Details are included in the response body.
      tags:
        - Columns
servers:
  - url: http://example.com/casManagement
    description: This is an example base URL.
components:
  requestBodies:
    caslib:
      description: A caslib object.
      content:
        application/vnd.sas.cas.caslib+json:
          schema:
            $ref: "#/components/schemas/caslib"
        application/json:
          schema:
            $ref: "#/components/schemas/caslib"
  schemas:
    casColumnCollection:
      title: Session Collection
      description: The collection of column information for the specified table.
      type: object
      x-sas-media-type:
        name: application/vnd.sas.collection
        version: 2
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - properties:
            items:
              type: array
              description: An array containing CAS column resources.
              items:
                $ref: "#/components/schemas/casColumn"
    casColumn:
      title: CAS Column
      description: Column information.
      properties:
        index:
          description: The sequential index number of the column in the table.
          type: integer
        format:
          description: The format of the column.
          type: string
        formattedLength:
          description: The formatted length of the column.
          type: integer
        label:
          description: The label of the column.
          type: string
        name:
          description: The name of the column.
          type: string
        numberFormatDecimals:
          description: The value of the numberFormatDecimals setting on the column.
          type: integer
        numberFormatLength:
          description: The value of the numberFormatLength setting on the column.
          type: integer
        rawLength:
          description: The raw length of the column.
          type: integer
        type:
          description: The type of the column.
          type: string
        version:
          description: Version of this object.
          type: integer
        indexed:
          description: This value is true if the column is indexed.
          type: boolean
      required:
        - name
        - type
        - rawLength
        - formattedLength
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.column
        version: 1
    casColumnCreate:
      title: CAS Column
      description: Column information.
      properties:
        name:
          description: The name of the column.
          type: string
        type:
          description: The type of the column.  Valid values are CHAR, NUM, VARCHAR.
          type: string
        label:
          description: The label of the column.
          type: string
        format:
          description: The format of the column.
          type: string
        formattedLength:
          description: The formatted length of the column.
          type: integer
        numberFormatLength:
          description: The value of the numberFormatLength setting on the column.
          type: integer
        numberFormatDecimals:
          description: The value of the numberFormatDecimals setting on the column.
          type: integer
        rawLength:
          description: >
            The raw length of the column.  If not specified, or cannot be inferred from other provided values, defaults to 8.
          type: integer
        version:
          description: Version of this object.  Default version is 1.
          type: integer
      required:
        - name
        - type
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.column
        version: 1
    casColumnCreateRequest:
      title: CAS Column Create Request
      description: >
        Inputs when creating new column in a table.
      properties:
        column:
          $ref: "#/components/schemas/casColumnCreate"
        outputTableName:
          description: Optional output table name.  Defaults to the input table name being referenced.
          type: string
        replaceTable:
          description: If output table already exists, replace it.  Defaults to false.
          type: boolean
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.column.create.request
        version: 1
    casColumnDistinctCount:
      title: CAS Column Distinct Count
      description: Column distinct count and missing count information.
      properties:
        columnName:
          description: Name of the column.
          type: string
        distinctCount:
          description: Number of distinct values.
          type: integer
        missingCount:
          description: Number of missing values.
          type: integer
        truncated:
          description: True if the counts were truncated. False otherwise.
          type: boolean
        version:
          description: The version of this object.
          type: integer
      required:
        - columnName
        - distinctCount
        - missingCount
        - truncated
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.column.distinct.count
        version: 1
    casColumnFrequency:
      title: CAS Column Frequency
      description: Column frequency information.
      properties:
        columnName:
          description: Name of the column.
          type: string
        columnType:
          description: The column type.
          type: integer
        frequency:
          description: List of column frequency values.
          items:
            $ref: "#/components/schemas/casColumnFrequencyValue"
          type: array
        version:
          description: The version of this object.
          type: integer
      required:
        - columnName
        - columnType
        - frequency
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.column.frequency
        version: 1
    casColumnFrequencyValue:
      title: CAS Column Frequency Value
      description: Column frequency value.
      properties:
        formattedValue:
          description: The formatted value.
          type: string
        frequency:
          description: The frequency.
          format: double
          type: integer
        value:
          description: The value.
          type: object
        version:
          description: The version of this object.
          type: integer
      required:
        - value
        - formattedValue
        - frequency
      type: object
    casColumnSummaryStatistics:
      title: CAS Column Summary Statistics
      description: Column summary information.
      properties:
        CSS:
          description: The sum of squares corrected for the mean statistic.
          format: double
          type: integer
        USS:
          description: The uncorrected sum of squares statistic.
          format: double
          type: integer
        coefficientOfVariation:
          description: The coefficient of variation statistic.
          format: double
          type: integer
        columnName:
          description: The summary name.
          type: string
        max:
          description: The max statistic.
          format: double
          type: integer
        mean:
          description: The mean statistic.
          format: double
          type: integer
        min:
          description: The min statistic.
          format: double
          type: integer
        numMissingValues:
          description: The number of missing values statistic.
          format: double
          type: integer
        probT:
          description: The probT statistic.
          type: integer
        stdDev:
          description: The standard deviation statistic.
          format: double
          type: integer
        stdErr:
          description: The standard error statistic.
          format: double
          type: integer
        sum:
          description: The sum statistic.
          format: double
          type: integer
        tValue:
          description: The tValue statistic.
          format: double
          type: integer
        variance:
          description: The variance statistic.
          format: double
          type: integer
        version:
          description: The version of this object.
          type: integer
      required:
        - columnName
        - min
        - max
        - mean
        - sum
        - stdDev
        - stdErr
        - coefficientOfVariation
        - numMissingValues
        - variance
        - USS
        - CSS
        - tValue
        - probT
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.column.summary.statistics
        version: 1
    casLoadRequest:
      title: CAS Load Request
      description: Inputs when loading a source table or file to a CAS table.
      properties:
        copies:
          description: Number of copies to create in memory. Defaults to 1.
          type: integer
        label:
          description: Label to use on the output table.
          type: string
        outputCaslibName:
          description: Name of the output caslib to which the source table or external file will be loaded. If not specified, defaults to the caslib name containing the table to be loaded.
          type: string
        outputTableName:
          description: Name of the output CAS table. If not specified, defaults to the same name as the table being loaded.
          type: string
        parameters:
          description: "A name and value pair map of additional parameters to pass when performing the load. These parameters generally are passed directly to the Caslib source as part of the load operation and are specific to the source type. Exceptions include the following parameters, which are passed directly to the load operation: * importOptions * groupBy * orderBy * vars See the CAS action documentation for loadTable for more information about the valid parameter values."
          type: object
        replace:
          description: If true, any pre-existing table with the same name is replaced. Defaults to false. Note that already-loaded global tables cannot be replaced.
          type: boolean
        replaceMode:
          description: "When replace is true, the replace mode to use when the table is already at loaded state. Valid values include: * always - always replace * newer - replace only if the source table is newer than the last time the table was loaded If omitted, defaults to always."
          type: string
        scope:
          description: Scope to which to load the table. Valid values include \session\ and \global\. Defaults to \global\.
          type: string
      required:
        - outputCaslibName
        - outputTableName
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.table.load.request
        version: 2
    casSaveRequest:
      title: CAS Save Request
      description: Inputs when saving a CAS table to a source table or external file.
      type: object
      properties:
        caslibName:
          description: Name of the output caslib to which the source table or external file will be written. If not specified, defaults to the caslib name containing the table to be saved.
          type: string
        format:
          description: Format of the output file. Valid values include *sashdat*, *csv*, *parquet*, *sas7bdat*. Defaults to sashdat.
          type: string
        replace:
          description: If true, any pre-existing table with the same name is replaced. Defaults to false.
          type: boolean
        compress:
          description: If true and saving to a sashdat, the saved table is compressed. Defaults to false.
          type: boolean
        tableName:
          description: Name of the output table or external file. If specified, this name is always used. The file extension will always honor the format requested (or default to sashdat). If this parameter is not specified, the name defaults to the same name as the source of the table being saved, provided it differs in case only from the name of the table being saved. If no source table name is available, then the name will be the same as the table. The following table shows sample scenarios and the value chosen by default for the tableName when this parameter is omitted. <table> <tr><th>table</th><th>state</th><th>source</th><th>format</th><th>default tableName</th></tr> <tr><td>MOREDATA</td><td>loaded</td><td></td><td>sashdat</td><td>MOREDATA.sashdat</td></tr> <tr><td>MYDATA</td><td>loaded</td><td>MyData.sashdat</td><td></td><td>MyData.sashdat</td></tr> <tr><td>MYDATA</td><td>loaded</td><td>MyData.sashdat</td><td>csv</td><td>MyData.csv</td></tr> <tr><td>DATA2</td><td>unloaded</td><td>data2.csv</td><td></td><td>data2.sashdat</td></tr> <tr><td>DATA3</td><td>unloaded</td><td>data3.csv</td><td>csv</td><td>data3.csv</td></tr> <tr><td>DATA4</td><td>loaded</td><td>OtherData.csv</td><td></td><td>DATA4.sashdat</td></tr> <tr><td>DATA5</td><td>unloaded</td><td>OtherData.csv</td><td>csv</td><td>DATA5.csv</td></tr> </table>
          type: string
        sourceTableName:
          description: Normally, the source table name for an unloaded table is determined automatically and this option is not required. If specified, this specific source table name is used as the source data to read for the save table operation.
          type: string
        parameters:
          description: "A name/value pair map of additional parameters to pass when performing the save in the event that the table being saved is not already in memory as a CAS table and needs to be accessed from the source. These parameters generally are passed directly to the caslib source when accessing the data and are specific to the source type. Exceptions include the following parameters, which are passed directly to the Save operation: * importOptions * groupBy * orderBy * vars See the CAS action documentation for saveTable for details about the valid parameter values."
          type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.table.save.request
        version: 2
    casTableCreateRequest:
      title: CAS Table Create Request
      description: Inputs when creating an empty in-memory table from column information.
      type: object
      properties:
        version:
          description: The version of the schema.
          type: integer
        tableName:
          description: Name of the output table to be created.
          type: string
        replace:
          description: If true, any pre-existing loaded table with the same name is replaced. Defaults to false.
          type: boolean
        columns:
          type: array
          items:
            $ref: "#/components/schemas/casColumnCreate"
      x-sas-media-type:
        name: application/vnd.sas.cas.table.create.request
        version: 1
    casAppendRequest:
      title: CAS Append Request
      description: Inputs when appending to a CAS table, including information about the source table.
      properties:
        sourceCaslibName:
          description: Name of the input caslib containing the table specified by sourceTableName. If not specified, defaults to the caslib name of the target table from the URL.
          type: string
        sourceTableName:
          description: Name of the input table containing the rows to be appended.
          type: string
        singlePass:
          description: If true, CAS will avoid creating a transient table for the source table on the server. While this can be efficient, the data might not have stable ordering upon repeated runs. Defaults to false.
          type: boolean
        filter:
          description: If specified, the filter to be applied to records from the source table.  This allows a subset of the source table records to be appended to the target table.   If omitted, all source table records will be appended.
          type: string
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.table.append.request
        version: 1
    casServerCollection:
      title: CAS Server Collection
      description: The list of CAS servers.
      type: object
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - properties:
            items:
              type: array
              description: An array containing casServer resources.
              items:
                $ref: "#/components/schemas/casServer"
    casServer:
      title: CAS Server
      description: Information about the definition of a CAS server ID.
      properties:
        description:
          description: Description of the server.
          type: string
        host:
          description: Host name or IP address of the server.
          type: string
        links:
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
          type: array
        name:
          description: The unique server name.
          type: string
        port:
          description: Port on which the server is running.
          type: integer
        restPort:
          description: Port on which the REST server is running.
          type: integer
        restProtocol:
          description: The protocol the REST server is using. Values include http or https.
          type: string
        version:
          description: The version of the schema.
          type: integer
        tags:
          $ref: "#/components/schemas/stringArray"
      required:
        - version
        - name
        - host
        - port
        - restPort
        - restProtocol
        - description
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server
        version: 2
    casServerConnection:
      title: CAS Server Connection
      description: Connection information for a CAS server.
      properties:
        host:
          description: Host name or IP address of the server.
          type: string
        links:
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
          type: array
        port:
          description: Port on which the server is running.
          type: integer
        serverName:
          description: The unique server name.
          type: string
        sessionId:
          description: Session ID associated with the connection.
          type: string
        version:
          description: The version of the schema.
          type: integer
      required:
        - serverName
        - host
        - port
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server.connection
        version: 1
    casServerMetrics:
      title: CAS Server Metrics
      description: Detailed metrics about a CAS server.
      properties:
        cpuSystemTime:
          description: System CPU time.
          format: double
          type: number
        cpuUserTime:
          description: User CPU time.
          format: double
          type: number
        elapsedTime:
          description: Elapsed time.
          format: double
          type: number
        host:
          description: Host name or IP address of the server.
          type: string
        links:
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
          type: array
        memory:
          description: Total memory.
          format: int64
          type: integer
        memoryOs:
          description: OS memory.
          format: int64
          type: integer
        memoryQuota:
          description: Memory quota.
          format: int64
          type: integer
        memorySystem:
          description: System memory.
          format: int64
          type: integer
        port:
          description: The port on which the server is running.
          type: integer
        serverName:
          description: The unique server name.
          type: string
        systemCores:
          description: Number of system cores.
          type: integer
        systemNodes:
          description: Number of system nodes.
          type: integer
        systemTotalMemory:
          description: Total system memory.
          format: int64
          type: integer
        userId:
          description: Owner of the server process.
          type: string
        version:
          description: The version of the schema.
          type: integer
      required:
        - serverName
        - userId
        - host
        - port
        - cpuUserTime
        - cpuSystemTime
        - elapsedTime
        - systemCores
        - systemTotalMemory
        - memoryOs
        - systemNodes
        - memorySystem
        - memoryQuota
        - memory
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server.metrics
        version: 1
    casSessionCollection:
      title: Session Collection
      description: The list of sessions for the requested CAS server.
      x-sas-media-type:
        name: application/vnd.sas.collection
        version: 2
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - properties:
            items:
              type: array
              description: An array containing CAS session resources.
              items:
                $ref: "#/components/schemas/casSession"
    casSession:
      title: Session
      description: Information about a CAS session.
      properties:
        authenticationType:
          description: The type of authentication used by the session. Valid values include OAuth, Windows, SSPI, External, PAM, Kerberos.
          type: string
        id:
          description: ID of the session.
          type: string
        locale:
          description: The locale of the session. If creating a new session, defaults to the locale of the Accept-Language header passed to the request. Sample values include en-us (US English), zh-cn (Chinese Simplified), ko-kr (Korean).
          type: string
        name:
          description: Name of the session. If not specified, defaults to casManagement.
          type: string
        nodeCount:
          description: Number of nodes the session will use in the grid.
          type: integer
        owner:
          description: Owner of the session.
          type: string
        state:
          description: Connected state of the session. Valid values include Inactive, Connected, Disconnected, Exception, Terminate, Removed.
          type: string
        timeOut:
          description: Number of seconds after the last connection to the session is closed before session is terminated.
          type: integer
      required:
        - id
        - state
        - authenticationType
        - owner
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.session
        version: 1
    casSessionSummary:
      title: Session Summary
      description: A summary of the information about a CAS session.
      properties:
        authenticationType:
          description: The type of authentication used by the session. Valid values include OAuth, Windows, SSPI, External, PAM, Kerberos.
          type: string
        id:
          description: ID of the session.
          type: string
        links:
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
          type: array
        name:
          description: Name of the session.
          type: string
        owner:
          description: Owner of the session.
          type: string
        state:
          description: Connected state of the session. Valid values include Inactive, Connected, Disconnected, Exception, Terminate, Removed.
          type: string
        transactionState:
          description: State of transaction on the session. Valid values include started and none.
          type: string
      required:
        - id
        - state
        - authenticationType
        - owner
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.session.summary
        version: 1
    emptyResponse:
      type: string
      description: An empty response.
      example: Empty Response
    casSourceTableCollection:
      title: Source Table or File Collection
      description: The collection of CAS source table or file information.
      type: object
      x-sas-media-type:
        name: application/vnd.sas.collection
        version: 2
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - required:
            - items
        - properties:
            items:
              type: array
              description: An array containing CAS source table or file resources.
              items:
                $ref: "#/components/schemas/casSourceTable"
    casSourceTable:
      title: CAS Source Table or File
      description: Detailed attributes of a source table or file in the data source of a caslib.
      properties:
        attributes:
          description: List of key/object pairs for the attributes of the source table. For example, a path-based CAS library can include attributes for file system attributes, like owner, group, time, permission, or size as reported by the underlying filesystem. A database CAS library can include attributes like catalog or schema.
          type: object
        name:
          description: Name of the table.
          type: string
        lastModified:
          description: Date/time the source file or table was last modified (when available).
          type: string
      required:
        - name
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.source.table
        version: 1
    casTableReference:
      title: Table Reference
      description: Table reference information.
      properties:
        sessionId:
          description: Session ID of the table. For tables in session scope, the session ID is required to access it.
          type: string
        sourceCaslibName:
          description: Optional name of the source caslib corresponding to the table.
          type: string
        sourceTableName:
          description: Optional name of the source table file corresponding to the table.
          type: string
        tableUri:
          description: Reference to the table.
          type: string
      required:
        - tableUri
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.table.reference
        version: 1
    caslibCollection:
      title: Caslib Collection
      description: The list of caslibs for the requested CAS server and optional session.
      type: object
      x-sas-media-type:
        name: application/vnd.sas.collection
        version: 2
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - properties:
            items:
              type: array
              description: An array containing caslib resources.
              items:
                $ref: "#/components/schemas/caslib"
    caslib:
      title: Caslib
      description: The representation of a caslib. Note that links are returned only for GET calls.
      properties:
        attributes:
          description: Contains an array of key/object pairs related to caslib type-specific settings. Supports simple object types (string, boolean, integer, long) as well as nested arrays. See reference documentation for specific caslib types to determine proper key/object pairs for defining a specific caslib.
          type: array
          items:
            $ref: "#/components/schemas/keyValueModel"
        description:
          description: Description of the caslib.
          type: string
        name:
          description: Name of the caslib.
          type: string
        metadataId:
          description: A read-only property containing the metadata ID assigned to this caslib.
          type: string
        path:
          description: The path of the caslib.
          type: string
        scope:
          description: The scope of the caslib. Valid values include session or global.
          type: string
        hidden:
          description: The hidden value of the caslib. True if this is a hidden caslib. False otherwise.
          type: boolean
        transient:
          description: The transient value of the caslib. True if this is a transient caslib. False otherwise.
          type: boolean
        type:
          description: Type of the Caslib. Valid values include any caslib type supported by the CAS server, such as Path, HDFS, DNFS, LASR, Teradata, Greenplum, and Oracle.
          type: string
        version:
          description: The version of this object.
          type: integer
      required:
        - name
        - type
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.caslib
        version: 1
    caslibCreateRequest:
      title: Caslib Create Request
      description: Caslib definition and options related to creation of the Caslib.
      properties:
        caslib:
          $ref: "#/components/schemas/caslib"
        createDirectory:
          description: Indicates whether the directory in the filesystem should be created when defining the Caslib.
          type: boolean
        permission:
          description: If the directory is being created, determines the permission to set on the filesystem directory. Valid values include GROUPREAD, GROUPWRITE, GROUPWRITEPUBLICREAD, PRIVATE, PUBLICREAD, and PUBLICWRITE.
          type: string
        version:
          description: The version of this object.
          type: integer
      required:
        - caslib
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.caslib.create.request
        version: 1
    keyValueModel:
      title: Key/Value Array
      description: An array of key/object pairs related to Caslib type-specific settings. Supports simple object types (string, boolean, integer, long) as well as nested arrays. See reference documentation for specific Caslib types to determine proper key/object pairs for defining a specific Caslib.
      allOf:
        - properties:
            key:
              type: string
              description: The key name.
            value:
              type: object
              description: The value of the key.
          required:
            - key
          type: object
    attributesMap:
      title: Attributes Nap
      description: The settings for this service.
      type: object
      properties:
        application:
          $ref: "#/components/schemas/applicationCaslib"
        default:
          $ref: "#/components/schemas/defaultCaslib"
        reference:
          $ref: "#/components/schemas/referenceCaslib"
        system:
          $ref: "#/components/schemas/systemCaslib"
        tempTablesCopiesCount:
          type: integer
          description: The number of extra copies of temporary tables.
        fileUploadEnabled:
          type: boolean
          description: The setting used to enable/disable local file uploads.
        maxFileUploadSize:
          type: integer
          description: The maximum file size in megabytes allowed for local file uploads. A value of -1 indicates no size limit.
    applicationCaslib:
      title: Application Caslib
      description: The CAS server and Caslib containing application data, such as map data.
      type: object
      properties:
        casServer:
          type: string
          description: The name of the CAS server.
        caslib:
          type: string
          description: The name of the CAS library.
    defaultCaslib:
      title: Default Caslib
      description: The default CAS server and Caslib for users.
      type: object
      properties:
        casServer:
          type: string
          description: The name of the CAS server.
        caslib:
          type: string
          description: The name of the CAS library.
    referenceCaslib:
      title: Reference Caslib
      description: The CAS server and Caslib containing reference data.
      type: object
      properties:
        casServer:
          type: string
          description: The name of the CAS server.
        caslib:
          type: string
          description: The name of the CAS library.
    systemCaslib:
      title: System Caslib
      description: The CAS server and Caslib used by the system for data produced during normal operation, such as audit records and monitoring data
      type: object
      properties:
        casServer:
          type: string
          description: The name of the CAS server.
        caslib:
          type: string
          description: The name of the CAS library.
    settings:
      title: CAS Management Service Settings
      description: The settings exposed for commons usage patterns of CAS servers.
      x-sas-media-type:
        name: application/vnd.sas.attributes
        version: 1
      required:
        - version
        - links
        - attributes
      properties:
        version:
          type: integer
          description: Version information for this attribute list.
        links:
          type: array
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
        attributes:
          $ref: "#/components/schemas/attributesMap"
    stringArray:
      title: String Array
      description: An array of tag values set on the server.
      type: object
      allOf:
        - properties:
            value:
              type: string
              description: An individual string value.
          required:
            - value
          type: object
    tableCollection:
      title: Tables Collection
      description: The list of tables for the requested CAS server and optional session. A table represents both the CAS table as well as information about the source file or table with which it is associated.
      type: object
      x-sas-media-type:
        name: application/vnd.sas.collection
        version: 2
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - required:
            - items
        - properties:
            items:
              type: array
              description: An array containing table resources.
              items:
                $ref: "#/components/schemas/tableDetails"
    tableDetails:
      title: Table Details
      description: Detailed information about a table.
      properties:
        attributes:
          description: List of key/object pairs for additional attributes of the source table. For example, a path-based CAS library can include attributes for file system attributes, like owner, group, time, permission, or size as reported by the underlying filesystem.
          type: object
        characterSet:
          description: Character set of the table.
          type: string
        columnCount:
          description: Number of columns in the table.
          format: int64
          type: integer
        created:
          description: Date created represented as a string.
          type: string
        createdBy:
          description: User who created the table in memory. This is the last user who changed the state of the table to 'loaded'.
          type: string
        encoding:
          description: Encoding of the table.
          type: string
        lastModified:
          description: Date last modified represented as a string.
          type: string
        lastModifiedBy:
          description: User who last modified the loaded table in memory. This value is returned only if the in-memory table has been modified. Otherwise, the table has not been modified since loaded by the 'createdBy' user.
          type: string
        lastAccessed:
          description: For loaded tables, the date last accessed is represented as a string.
          type: string
        sourceLastModified:
          description: Date the source file or table was last modified (when available).
          type: string
        label:
          description: Label of the table, if available.
          type: string
        name:
          description: Name of the table.
          type: string
        repeated:
          description: True if the table is repeated.
          type: boolean
        rowCount:
          description: Number of rows in the table. Depending upon the cost of obtaining this value, it can be omitted in some cases.
          format: int64
          type: integer
        disconnected:
          description: Whether the table is disconnected from its original source or not. If value is true, then permissions set on this table will not be set on the original/underlying table.
          type: boolean
        scope:
          description: For a table with state of loaded, the scope of the loaded table. Valid values are session or global.
          type: string
        state:
          description: Indicates whether a table is loaded into CAS. Valid values are loaded or unloaded.
          type: string
        tableReference:
          $ref: "#/components/schemas/casTableReference"
      required:
        - name
        - state
        - scope
        - characterSet
        - encoding
        - columnCount
        - created
        - lastModified
        - createdBy
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.table
        version: 3
    casServerNodeCollection:
      title: Node Collection
      description: The collection of nodes for the specified CAS server.
      type: object
      x-sas-media-type:
        name: application/vnd.sas.collection
        version: 1
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - required:
            - items
        - properties:
            items:
              type: array
              description: An array containing node resources.
              items:
                $ref: "#/components/schemas/casServerNode"
    casServerNode:
      title: CAS Server Node
      description: Information about the definition of a CAS server node.
      properties:
        name:
          description: The fully qualified domain name of the server node.
          type: string
        role:
          description: The role of the node either 'controller' or 'worker'.
          type: string
        ipAddress:
          description: The IP address of the node.
          type: string
        connected:
          description: True if connected to CAS.
          type: boolean
        links:
          type: array
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
        version:
          description: Version of the schema. This representation is version 2.
          type: integer
      required:
        - version
        - name
        - role
        - ipAddress
        - links
        - connected
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server.node
        version: 1
    casServerNodeCreateRequest:
      title: CAS Server Node Create Request
      description: Information about the definition of a CAS server node.
      properties:
        name:
          description: The fully qualified domain name of the server node.
          type: string
      required:
        - name
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server.node
        version: 1
    casLoggerCollection:
      title: Logger Collection
      description: The collection of loggers for the specified CAS server.
      type: object
      x-sas-media-type:
        name: application/vnd.sas.collection
        version: 1
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - required:
            - items
        - properties:
            items:
              type: array
              description: An array containing logger resources.
              items:
                $ref: "#/components/schemas/casServerLoggerSummary"
    casServerLoggerSummary:
      title: CAS Server Logger Summary
      description: Summary information about a CAS server logger.
      properties:
        name:
          description: The name of the logger.
          type: string
        level:
          description: The level of the logger. Valid level values include info, warn, error, fatal, debug, and trace.
          type: string
        links:
          type: array
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
        version:
          description: Version of the schema. This representation is version 1.
          type: integer
      required:
        - version
        - name
        - level
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server.logger.summary
        version: 1
    casServerLogger:
      title: CAS Server Logger
      description: Detailed information about a CAS server logger.
      properties:
        name:
          description: The name of the logger.
          type: string
        level:
          description: The level of the logger. Valid level values include info, warn, error, fatal, debug, and trace.
          type: string
        applyToController:
          description: This property is used only when modifying logger settings. It is not returned when reading settings. If true, the change will apply both at the controller level and session level. If true, applyToNewSessions option is treated as true.
          type: boolean
        applyToNewSessions:
          description: This property is used only when modifying logger settings. It is not returned when reading settings. If true, the change will apply only to the current session, but will apply to newly created sessions on the CAS server. If false, the change will apply only to the current session, and will not apply to future sessions. Defaults to false if unspecified. If applyToController is set to true, then the change will always apply to new sessions, and applyToNewSessions property is ignored.
          type: boolean
        links:
          type: array
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
        version:
          description: Version of the schema. This representation is version 1.
          type: integer
      required:
        - version
        - name
        - level
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server.logger
        version: 1
    casPolicyCollection:
      title: Policy Collection
      description: The collection of policies for the specified CAS server.
      type: object
      x-sas-media-type:
        name: application/vnd.sas.collection
        version: 1
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
        - required:
            - items
        - properties:
            items:
              type: array
              description: An array containing policy resources.
              items:
                $ref: "#/components/schemas/casServerPolicySummary"
    casServerPolicySummary:
      title: CAS Server Policy Summary
      description: Summary information about a CAS server policy.
      properties:
        name:
          description: The name of the policy.
          type: string
        type:
          description: The type of the policy. Valid type values include globalCaslibs, priorityLevels, and priorityAssignments.
          type: string
        attributes:
          description: List of key/value pairs for the attributes of the policy. See the CAS documentation for details about valid keys and values for each policy type.
          type: array
          items:
            $ref: "#/components/schemas/keyValueModel"
        links:
          type: array
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
        version:
          description: Version of the schema. This representation is version 1.
          type: integer
      required:
        - version
        - name
        - type
        - attributes
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server.policy.summary
        version: 1
    casServerPolicy:
      title: CAS Server Policy
      description: Detailed information about a CAS server policy.
      properties:
        name:
          description: The name of the policy.
          type: string
        type:
          description: The type of the policy. Valid type values include globalCaslibs, priorityLevels, and priorityAssignments.
          type: string
        attributes:
          description: List of key/value pairs for the attributes of the policy. See the CAS documentation for details about valid keys and values for each policy type.
          type: array
          items:
            $ref: "#/components/schemas/keyValueModel"
        links:
          type: array
          description: The navigable links relative to this media type.
          items:
            $ref: "#/components/schemas/link"
        version:
          description: Version of the schema. This representation is version 1.
          type: integer
      required:
        - version
        - name
        - type
      type: object
      x-sas-media-type:
        name: application/vnd.sas.cas.server.policy
        version: 1
    updateServerState:
      title: Update Server State
      description: Plain text response for updating a server's state.
      properties:
        state:
          description: State of the server.
          type: string
          enum:
            - running
            - starting
            - stopping
            - stopped
    engineCollection:
      title: Engine Collection
      type: object
      description: A pageable collection of engine objects.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          required:
            - items
          properties:
            items:
              type: array
              items:
                $ref: "#/components/schemas/engine"
              description: The array that contains engine resources.
    engine:
      title: Engine
      type: object
      description: Information about an engine.
      properties:
        version:
          type: integer
          description: The media type's schema version number.
        name:
          type: string
          description: The unique name of this engine within its data source.
        nickname:
          type: string
          description: The user visible nickname of the engine.
        legalName:
          type: string
          description: The engine's short legal name.
        providerId:
          type: string
          description: The unique identifier of this engine's provider.
        dataSourceId:
          type: string
          description: The unique identifier of this engine's parent data source.
        licensed:
          type: boolean
          description: If true, the engine is licensed. If false, the engine is not licensed.
        hasDefinition:
          type: boolean
          description: If true, the engine has an associated definition. If false, the definition link is omitted.
        links:
          type: array
          description: The links that apply to this object.
          items:
            $ref: "#/components/schemas/link"
    engineDefinition:
      title: Engine Definition
      type: object
      description: The engine definition as a json schema.
    job:
      title: Job
      description: The execution job.
      x-sas-media-type:
        name: application/vnd.sas.job.execution.job
        version: 1
      required:
        - id
      properties:
        version:
          type: number
          description: The version number of the representation. The current version is 2.
        id:
          type: string
          description: The unique identifier that is generated by the API.
        state:
          type: string
          description: "The current state of the job. Valid values: pending, running, canceled, completed, failed, timedOut"
        results:
          type: object
          description: The output results of the job execution (map of String, String).
        error:
          $ref: "#/components/schemas/error2"
        jobRequest:
          $ref: "#/components/schemas/request"
        heartbeatInterval:
          type: integer
          format: int32
          description: The interval in seconds that the `heartbeatTimeStamp` should be updated by the provider or the job times out. The value for the `heatbeatInterval` is 0 when there is no heartbeat.
        heartbeatTimeStamp:
          description: The timestamp for when the last heartbeat was received, in the format of `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
        creationTimeStamp:
          description: The timestamp for when the job was created, in the format of `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
        modifiedTimeStamp:
          description: The timestamp for when the job was last modified, in the format of `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
        endTimeStamp:
          description: The timestamp for when the state of the job changed to completed or failed, in the format of `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
        expirationTimeStamp:
          description: The timestamp for when the job expires and will be deleted by the Job Execution service, in the format of `YYYY-MM-DDThh:mm:ss.sssZ`. This is set by the service after the job has completed based on the value of the `expiresAfter` member of the job request.
          type: string
        createdBy:
          description: The ID of the user that created or submitted the job.
          type: string
        modifiedBy:
          description: The ID of the user that last modified the job.
          type: string
        links:
          type: array
          description: The links that are associated with the job.
          items:
            $ref: "#/components/schemas/link"
    api:
      title: API
      description: The list of links to top-level resources and operations available from the root of the API.
      x-sas-media-type:
        name: application/vnd.sas.api
        version: 1
      required:
        - version
        - links
      properties:
        version:
          type: integer
          description: The version number of the API representation. This is version 1.
          minimum: 1
        links:
          description: The API's top-level links.
          type: array
          items:
            $ref: "#/components/schemas/link"
    link:
      title: Link
      type: object
      description: A link to a related operation or resource.
      required:
        - rel
      properties:
        method:
          type: string
          description: The HTTP method for the link.
        rel:
          type: string
          description: The relationship of the link to the resource.
        uri:
          type: string
          description: The relative URI for the link.
        href:
          type: string
          description: The URL for the link.
        title:
          type: string
          description: The title for the link.
        type:
          type: string
          description: The media type or link type for the link.
        itemType:
          type: string
          description: If this is a link to a container, `itemType` is the media type or link type for the items in the container.
        responseType:
          type: string
          description: The media type or link type of the response body for a `PUT`, `POST`, or `PATCH` operation.
        responseItemType:
          type: string
          description: The media type or link type of the items in the response body for a `PUT`, `POST`, or `PATCH` operation.
    error2:
      title: Error
      type: object
      description: The representation of an error.
      x-sas-media-type:
        name: application/vnd.sas.error
        version: 2
      required:
        - httpStatusCode
        - version
      properties:
        message:
          type: string
          description: The message for the error.
        id:
          type: string
          description: The string ID for the error.
        errorCode:
          type: integer
          description: The numeric ID for the error.
        httpStatusCode:
          type: integer
          description: The HTTP status code for the error.
        details:
          type: array
          description: Messages that provide additional details about the cause of the error.
          items:
            type: string
        remediation:
          type: string
          description: A message that describes how to resolve the error.
        errors:
          type: array
          description: Any additional errors that occurred.
          items:
            $ref: "#/components/schemas/error2"
        links:
          type: array
          description: The links that apply to the error.
          items:
            $ref: "#/components/schemas/link"
        version:
          type: integer
          description: The version number of the error representation. This representation is version 2.
    baseCollection2:
      title: Base Collection
      description: This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2)
      properties:
        name:
          type: string
          description: The name of the collection.
        start:
          type: integer
          description: The zero-based index of the first item in the collection.
          format: int64
        limit:
          type: integer
          description: The number of items that were requested for the collection.
        count:
          type: integer
          description: If populated indicates the number of items in the collection.
          format: int64
        accept:
          type: string
          description: A space-delimited list of media types from which an `Accept` header may be constructed.
        links:
          type: array
          description: The links that apply to the collection.
          items:
            $ref: "#/components/schemas/link"
        version:
          type: integer
          description: The version number of the collection representation. This representation is version 2.
    request:
      title: Job Request
      description: The job request.
      x-sas-media-type:
        name: application/vnd.sas.job.execution.job.request
        version: 1
      required:
        - id
      type: object
      properties:
        version:
          type: integer
          description: The version number of the representation. The current version is 2.
        id:
          type: string
          description: The unique identifier for the job.
        name:
          type: string
          description: The name of the job.
        description:
          type: string
          description: The description of the job.
        creationTimeStamp:
          description: The timestamp for when the job was created, in the format of `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
        modifiedTimeStamp:
          description: The timestamp for when the job was last modified, in the format of `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
        createdBy:
          description: The ID of the user that created or submitted the job.
          type: string
        modifiedBy:
          description: The ID of the user that last modified the job.
          type: string
        jobDefinitionUri:
          type: string
          description: The URI of the job definition that is to be executed.
        jobDefinition:
          type: object
          description: The definition of the job that is to be executed.
        expiresAfter:
          type: string
          description: The duration of time (in <a href="https://www.w3.org/TR/xmlschema-2/#duration" target="_blank">W3C XML duration format</a>) after the completion of the job when the job should be deleted by the Job Execution service.
        arguments:
          type: object
          description: The values of the arguments described in the job definition.
        properties:
          type: object
          description: The value of properties in the format of (map<string, string>) that contains name value pairs (map<name, value>). The maximum name value length is 100.
          additionalProperties:
            type: string
        links:
          type: array
          description: The links that are associated with the job.
          items:
            $ref: "#/components/schemas/link"
  examples:
    casColumnExample:
      description: A sample of CAS column information.
      value:
        version: 3
        name: Y
        label: New Column
        type: double
        rawLength: 8
        formattedLength: 8
        format: F
        numberFormatLength: 8
        numberFormatDecimals: 0
        indexed: false
        index: 11
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns
            type: application/vnd.sas.cas.table
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y
            type: application/vnd.sas.cas.column
          - method: GET
            rel: frequency
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y/frequency
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y/frequency
            type: application/vnd.sas.cas.column.frequency
          - method: GET
            rel: distinctCount
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y/distinctCount
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y/distinctCount
            type: application/vnd.sas.cas.column.distinct.count
          - method: GET
            rel: distinctValues
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y/distinctValues
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y/distinctValues
            type: application/vnd.sas.collection
            itemType: text/plain
          - method: GET
            rel: summaryStatistics
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y/summaryStatistics
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CUSTOMERS_UNWRANGLED_DATA/columns/Y/summaryStatistics
            type: application/vnd.sas.cas.column.summary.statistics
    casColumnCreateRequestExample:
      description: A sample request body to create a new column.
      value:
        version: 1
        column:
          name: Y
          label: New Column
          type: num
          rawLength: 8
        outputTable: MYOUTPUTTABLE
        replaceTable: true
    casColumnCollectionExample:
      description: A sample response containing a collection of application/vnd.sas.cas.column items.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/
            type: application/vnd.sas.cas.table
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns?excludeItemLinks=true&sessionId&start=0&limit=10
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns?excludeItemLinks=true&sessionId&start=0&limit=10
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.column
          - method: GET
            rel: collection
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.column
          - method: GET
            rel: next
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns?excludeItemLinks=true&sessionId&start=10&limit=10
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns?excludeItemLinks=true&sessionId&start=10&limit=10
            type: application/vnd.sas.collection
          - method: GET
            rel: last
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns?excludeItemLinks=true&sessionId&start=10&limit=10
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns?excludeItemLinks=true&sessionId&start=10&limit=10
            type: application/vnd.sas.collection
        name: columns
        accept: application/vnd.sas.cas.column
        count: 12
        items:
          - version: 1
            name: ID
            type: double
            rawLength: 8
            formattedLength: 12
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: true
          - version: 1
            name: COMPANY
            type: char
            rawLength: 34
            formattedLength: 34
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
          - version: 1
            name: CONTACT
            type: char
            rawLength: 20
            formattedLength: 20
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
          - version: 1
            name: ADDRESS
            type: char
            rawLength: 30
            formattedLength: 30
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
          - version: 1
            name: CITY
            type: char
            rawLength: 28
            formattedLength: 28
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
          - version: 1
            name: STATE
            type: char
            rawLength: 14
            formattedLength: 14
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
          - version: 1
            name: PHONE
            type: char
            rawLength: 12
            formattedLength: 12
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
          - version: 1
            name: OS
            type: char
            rawLength: 16
            formattedLength: 16
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
          - version: 1
            name: DATABASE
            type: char
            rawLength: 24
            formattedLength: 24
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
          - version: 1
            name: DATE
            type: char
            rawLength: 15
            formattedLength: 15
            numberFormatLength: 0
            numberFormatDecimals: 0
            indexed: false
        version: 2
    casColumnDistinctCountExample:
      description: A sample response of a requst for a column's distinct count.
      value:
        version: 1
        columnName: 2016/17
        distinctCount: 30
        missingCount: 0
        truncated: false
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/caslibs/testlib/tables/NBA_2016_TEAMSALARIES/columns/2016/17
            uri: /casManagement/servers/cas-shared-default/caslibs/testlib/tables/NBA_2016_TEAMSALARIES/columns/2016/17
            type: application/vnd.sas.cas.column
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/caslibs/testlib/tables/NBA_2016_TEAMSALARIES/columns/2016/17/distinctCount
            uri: /casManagement/servers/cas-shared-default/caslibs/testlib/tables/NBA_2016_TEAMSALARIES/columns/2016/17/distinctCount
            type: application/vnd.sas.cas.column.distinct.count
    casLoadRequestExample:
      description: A sample request body to change the state of a table.
      value:
        version: 3
        copies: 1
        label: My table label
        outputCaslibName: MyOutCaslib
        outputTableName: MyOutTable
        parameters:
          loadParam1: value1
          loadParam2: value2
        replace: false
        replaceMode: always
        scope: global
    casSaveRequestExample:
      description: A sample request body to save a cas table to a source table or external file.
      value:
        version: 2
        caslibName: myOutCaslib
        tableName: myOptionalNewOutputTableName
        format: sashdat
        compress: true
        replace: true
        parameters:
          param1: value1
          param2: value2
    casTableCreateRequestExample:
      description: A sample request body to create an in-memory table from column information.
      value:
        version: 1
        tableName: MYCREATEDTABLE 1
        replace: true
        columns:
          - name: X
            label: Column X
            type: CHAR
            rawLength: 32
          - name: Y
            label: Column Y
            type: NUM
            format: DATETIME.
          - name: Z
            label: Varchar Z
            type: varcHaR
            rawLength: 75
    casAppendRequestExample:
      description: A sample request body to append one cas table to another.
      value:
        version: 1
        sourceCaslib: myInputCaslib
        sourceTableName: myInputTableName
        singlePass: false
        filter: UID=12345
    casServerExample:
      description: A sample cas server object.
      value:
        version: 2
        name: cas-shared-default
        description: controller
        host: grid.example.com
        port: 5570
        restPort: 8777
        restProtocol: http
        links:
          - method: GET
            rel: up
            href: /casManagement/servers
            uri: /casManagement/servers
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default
            uri: /casManagement/servers/cas-shared-default
            type: application/vnd.sas.cas.server
          - method: GET
            rel: connection
            href: /casManagement/servers/cas-shared-default/connection
            uri: /casManagement/servers/cas-shared-default/connection
            type: application/vnd.sas.cas.server.connection
          - method: GET
            rel: state
            href: /casManagement/servers/cas-shared-default/state
            uri: /casManagement/servers/cas-shared-default/state
            type: text/plain
          - method: PUT
            rel: updateState
            href: /casManagement/servers/cas-shared-default/state
            uri: /casManagement/servers/cas-shared-default/state
            type: text/plain
            responseType: application/json;text/plain
          - method: GET
            rel: nodes
            href: /casManagement/servers/cas-shared-default/nodes
            uri: /casManagement/servers/cas-shared-default/nodes
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.node
          - method: GET
            rel: metrics
            href: /casManagement/servers/cas-shared-default/metrics
            uri: /casManagement/servers/cas-shared-default/metrics
            type: application/vnd.sas.cas.server.metrics
          - method: GET
            rel: sessions
            href: /casManagement/servers/cas-shared-default/sessions
            uri: /casManagement/servers/cas-shared-default/sessions
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.session.summary
          - method: POST
            rel: createSession
            href: /casManagement/servers/cas-shared-default/sessions
            uri: /casManagement/servers/cas-shared-default/sessions
            type: application/vnd.sas.cas.session
            responseType: application/vnd.sas.cas.session
          - method: GET
            rel: caslibs
            href: /casManagement/servers/cas-shared-default/caslibs
            uri: /casManagement/servers/cas-shared-default/caslibs
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.caslib
          - method: GET
            rel: casProxy
            href: /casProxy/servers/cas-shared-default/cas
            uri: /casProxy/servers/cas-shared-default/cas
            type: application/json
          - method: GET
            rel: dataSource
            href: /dataSources/providers/cas/sources/cas-shared-default
            uri: /dataSources/providers/cas/sources/cas-shared-default
            type: application/vnd.sas.data.source
        tags:
          key: keyName
          value: value
    casServerCollectionExample:
      description: A sample collection of application/vnd.sas.cas.server items.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/
            uri: /casManagement/
            type: application/vnd.sas.api
          - method: GET
            rel: self
            href: /casManagement/servers?excludeItemLinks=false&start=0&limit=10
            uri: /casManagement/servers?excludeItemLinks=false&start=0&limit=10
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server
          - method: GET
            rel: collection
            href: /casManagement/servers
            uri: /casManagement/servers
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server
        name: servers
        accept: application/vnd.sas.cas.server
        start: 0
        count: 1
        items:
          - version: 1
            name: cas-shared-default
            description: controller
            host: myhost.example.com
            port: 5570
            restPort: 8777
            restProtocol: http
            links:
              - method: GET
                rel: up
                href: /casManagement/servers
                uri: casManagement/servers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.server
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default
                uri: /casManagement/servers/cas-shared-default
                type: application/vnd.sas.cas.server
              - method: GET
                rel: connection
                href: /casManagement/servers/cas-shared-default/connection
                uri: /casManagement/servers/cas-shared-default/connection
                type: application/vnd.sas.cas.server.connection
              - method: GET
                rel: state
                href: /casManagement/servers/cas-shared-default/state
                uri: /casManagement/servers/cas-shared-default/state
                type: text/plain
              - method: PUT
                rel: updateState
                href: /casManagement/servers/cas-shared-default/state
                uri: /casManagement/servers/cas-shared-default/state
                type: text/plain
              - method: GET
                rel: nodes
                href: /casManagement/servers/cas-shared-default/nodes
                uri: /casManagement/servers/cas-shared-default/nodes
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.server.node
              - method: GET
                rel: metrics
                href: /casManagement/servers/cas-shared-default/metrics
                uri: /casManagement/servers/cas-shared-default/metrics
                type: application/vnd.sas.cas.server.metrics
              - method: GET
                rel: sessions
                href: /casManagement/servers/cas-shared-default/sessions
                uri: /casManagement/servers/cas-shared-default/sessions
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.session.summary
              - method: POST
                rel: createSession
                href: /casManagement/servers/cas-shared-default/sessions
                uri: /casManagement/servers/cas-shared-default/sessions
                type: application/vnd.sas.cas.session
                responseType: application/vnd.sas.cas.session
              - method: GET
                rel: caslibs
                href: /casManagement/servers/cas-shared-default/caslibs
                uri: /casManagement/servers/cas-shared-default/caslibs
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.caslib
              - method: GET
                rel: casProxy
                href: /casProxy/servers/cas-shared-default/cas
                uri: /casProxy/servers/cas-shared-default/cas
                type: application/json
              - method: GET
                rel: dataSource
                href: /dataSources/providers/cas/sources/cas-shared-default
                uri: /dataSources/providers/cas/sources/cas-shared-default
                type: application/vnd.sas.data.source
            tags:
              value: appServerEnabled=True
        limit: 10
        version: 2
    casServerConnectionExample:
      description: Sample cas server connection information.
      value:
        host: grid.example.com
        links:
          - href: /casManagement/servers/casServer/connection
            method: GET
            rel: self
            type: application/vnd.sas.cas.server.connection
            uri: /casManagement/servers/casServer/connection
          - href: /casManagement/servers/casServer
            method: GET
            rel: up
            type: application/vnd.sas.cas.server
            uri: /casManagement/servers/casServer
        port: 15943
        serverName: casServer
        sessionId: C875-DAA73-DA543-BE662-783BA-12D3F
        version: 1
    casServerMetricsExample:
      description: Example metrics about a CAS server.
      value:
        cpuSystemTime: 0.018998
        cpuUserTime: 0.027996
        elapsedTime: 0.023649
        host: grid.example.com
        links:
          - href: /casManagement/servers/casServer/metrics
            method: GET
            rel: self
            type: application/vnd.sas.cas.server.metrics
            uri: /casManagement/servers/casServer/metrics
          - href: /casManagement/servers/casServer
            method: GET
            rel: up
            type: application/vnd.sas.cas.server
            uri: /casManagement/servers/casServer
        memory: 2264192
        memorySystem: 18253888
        memoryOs: 185253888
        memoryQuota: 185253888
        port: 15943
        serverName: casServer
        systemCores: 1344
        systemNodes: 28
        systemTotalMemory: 7581465980928
        userId: userName
        version: 1
    casSessionCollectionExample:
      description: A sample collection of application/vnd.sas.cas.session.summary objects.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/
            uri: /casManagement/servers/cas-shared-default/
            type: application/vnd.sas.cas.server
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/sessions?excludeItemLinks=false&start=0&limit=10
            uri: /casManagement/servers/cas-shared-default/sessions?excludeItemLinks=false&start=0&limit=10
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.session.summary
          - method: GET
            rel: collection
            href: /casManagement/servers/cas-shared-default/sessions
            uri: /casManagement/servers/cas-shared-default/sessions
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.session.summary
        name: sessions
        accept: application/vnd.sas.cas.session.summary
        start: 0
        count: 1
        items:
          - version: 2
            id: 3ecd299f-042a-c849-b354-d2961eca5a03
            name: SAS Environment Manager:Tue Sep 19 18:41:55 2017
            state: Connected
            authenticationType: OAuth
            owner: userId
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/sessions
                uri: /casManagement/servers/cas-shared-default/sessions
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.session.summary
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/sessions/3ecd299f-042a-c849-b354-d2961eca5a03
                uri: /casManagement/servers/cas-shared-default/sessions/3ecd299f-042a-c849-b354-d2961eca5a03
                type: application/vnd.sas.cas.session.summary
              - method: DELETE
                rel: delete
                href: /casManagement/servers/cas-shared-default/sessions/3ecd299f-042a-c849-b354-d2961eca5a03
                uri: /casManagement/servers/cas-shared-default/sessions/3ecd299f-042a-c849-b354-d2961eca5a03
        limit: 10
        version: 2
    casSessionSummaryExample:
      description: A sample CAS Session summary object.
      value:
        id: C691A4B0-b8f6-3e44-b35b-4411de0307da
        links:
          - href: /casManagement/servers/casServer/sessions
            itemType: application/vnd.sas.cas.session.summary
            method: GET
            rel: up
            type: application/vnd.sas.collection
            uri: /casManagement/servers/casServer/sessions
          - href: /casManagement/servers/casServer/sessions/c691a4b0-b8f6-3e44-b35b-4411de0307da
            method: GET
            rel: self
            type: application/vnd.sas.cas.session.summary
            uri: /casManagement/servers/casServer/sessions/c691a4b0-b8f6-3e44-b35b-4411de0307da
          - href: /casManagement/servers/casServer/sessions/c691a4b0-b8f6-3e44-b35b-4411de0307da
            method: DELETE
            rel: delete
            uri: /cas
          - href: /casManagement/servers/casServer/sessions/c691a4b0-b8f6-3e44-b35b-4411de0307da
            method: POST
            rel: startPermissionsTransaction
            type: text/plain
            uri: /casManagement/servers/cas/sessions/fdb94838-56a2-254e-a5e6-93c46f31c944?action=start
        name: Session:Mon Mar 28 21:57:43 2016
        owner: user
        state: Connected
        transactionState: none
        authenticationType: Active Directory
        version: 2
    casSourceTableCollectionExample:
      description: A sample collection of application/vnd.sas.cas.source.table objects.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/caslibs/Public/
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/
            type: application/vnd.sas.cas.caslib
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/caslibs/Public/sources?excludeItemLinks=false&start=0&limit=2
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources?excludeItemLinks=false&start=0&limit=2
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.source.table
          - method: GET
            rel: collection
            href: /casManagement/servers/cas-shared-default/caslibs/Public/sources
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.source.table
          - method: GET
            rel: next
            href: /casManagement/servers/cas-shared-default/caslibs/Public/sources?excludeItemLinks=false&start=2&limit=2
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources?excludeItemLinks=false&start=2&limit=2
            type: application/vnd.sas.collection
          - method: GET
            rel: last
            href: /casManagement/servers/cas-shared-default/caslibs/Public/sources?excludeItemLinks=false&start=16&limit=2
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources?excludeItemLinks=false&start=16&limit=2
            type: application/vnd.sas.collection
        name: sources
        accept: application/vnd.sas.cas.source.table
        count: 18
        items:
          - name: MAILORDER.sashdat
            attributes:
              owner: userId
              size: 244
              encryption: NONE
              permission: -rwxr-xr-x
              time: 15Sep2017:20:29:10
              group: mygroup
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/caslibs/Public/sources
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.source.table
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/caslibs/Public/sources/MAILORDER.sashdat
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources/MAILORDER.sashdat
                type: application/vnd.sas.cas.source.table
          - name: mysasdata.sas7bdat
            attributes:
              owner: userId
              size: 128
              permission: -rw-r--r--
              time: 15Sep2017:20:29:05
              group: mygroup
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/caslibs/Public/sources
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.source.table
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/caslibs/Public/sources/mysasdata.sas7bdat
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources/mysasdata.sas7bdat
                type: application/vnd.sas.cas.source.table
        limit: 2
        version: 2
    casSourceTableExample:
      description: An example of CAS source table information.
      value:
        attributes:
          owner: userId
          permission: -rwxr-xr-x
          size: 18461
          time: 24Oct2015:01:44:28
        name: counties.sashdat
    caslibCollectionExample:
      description: A sample collection of application/vnd.sas.cas.caslib objects.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/
            uri: /casManagement/servers/cas-shared-default/
            type: application/vnd.sas.cas.server
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/caslibs?excludeItemLinks=false&start=0&limit=10
            uri: /casManagement/servers/cas-shared-default/caslibs?excludeItemLinks=false&start=0&limit=10
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.caslib
          - method: GET
            rel: collection
            href: /casManagement/servers/cas-shared-default/caslibs
            uri: /casManagement/servers/cas-shared-default/caslibs
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.caslib
          - method: POST
            rel: create
            href: /casManagement/servers/cas-shared-default/caslibs
            uri: /casManagement/servers/cas-shared-default/caslibs
            type: application/vnd.sas.cas.caslib
        name: caslibs
        accept: application/vnd.sas.cas.caslib
        start: 0
        count: 3
        items:
          - version: 1
            name: CASUSER(userId)
            type: PATH
            description: Personal File System Caslib
            scope: global
            path: /opt/sas/viya/config/data/cas/default/casuserlibraries/userId/
            hidden: false
            attributes:
              - key: active
                value:
                  ? "true"
              - key: personal
                value:
                  ? "true"
              - key: subDirs
                value:
                  ? "true"
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/caslibs
                uri: /casManagement/servers/cas-shared-default/caslibs
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.caslib
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)
                uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)
                type: application/vnd.sas.cas.caslib
              - method: PATCH
                rel: patch
                href: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)
                uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)
                type: application/vnd.sas.cas.caslib
                responseType: application/vnd.sas.cas.caslib
              - method: DELETE
                rel: delete
                href: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)
                uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)
              - method: GET
                rel: tables
                href: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)/tables
                uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)/tables
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.table
              - method: GET
                rel: sources
                href: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)/sources
                uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER(userId)/sources
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.source.table
              - method: GET
                rel: dataSource
                href: /dataSources/providers/cas/sources/cas-shared-default~fs~CASUSER(userId)
                uri: /dataSources/providers/cas/sources/cas-shared-default~fs~CASUSER(userId)
                type: application/vnd.sas.data.source
            transient: true
          - version: 1
            name: Public
            type: PATH
            description: Shared and writeable caslib, accessible to all users.
            scope: global
            path: /opt/sas/viya/config/data/cas/default/public/
            hidden: false
            attributes:
              - key: active
                value:
                  ? "false"
              - key: personal
                value:
                  ? "false"
              - key: subDirs
                value:
                  ? "true"
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/caslibs
                uri: /casManagement/servers/cas-shared-default/caslibs
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.caslib
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/caslibs/Public
                uri: /casManagement/servers/cas-shared-default/caslibs/Public
                type: application/vnd.sas.cas.caslib
              - method: PATCH
                rel: patch
                href: /casManagement/servers/cas-shared-default/caslibs/Public
                uri: /casManagement/servers/cas-shared-default/caslibs/Public
                type: application/vnd.sas.cas.caslib
                responseType: application/vnd.sas.cas.caslib
              - method: DELETE
                rel: delete
                href: /casManagement/servers/cas-shared-default/caslibs/Public
                uri: /casManagement/servers/cas-shared-default/caslibs/Public
              - method: GET
                rel: tables
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.table
              - method: GET
                rel: sources
                href: /casManagement/servers/cas-shared-default/caslibs/Public/sources
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/sources
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.source.table
              - method: GET
                rel: dataSource
                href: /dataSources/providers/cas/sources/cas-shared-default~fs~Public
                uri: /dataSources/providers/cas/sources/cas-shared-default~fs~Public
                type: application/vnd.sas.data.source
            transient: false
          - version: 1
            name: Samples
            type: PATH
            description: Stores sample data (supplied by SAS).
            scope: global
            path: /opt/sas/viya/config/data/cas/default/samples/
            hidden: false
            attributes:
              - key: active
                value:
                  ? "false"
              - key: personal
                value:
                  ? "false"
              - key: subDirs
                value:
                  ? "false"
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/caslibs
                uri: /casManagement/servers/cas-shared-default/caslibs
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.caslib
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/caslibs/Samples
                uri: /casManagement/servers/cas-shared-default/caslibs/Samples
                type: application/vnd.sas.cas.caslib
              - method: PATCH
                rel: patch
                href: /casManagement/servers/cas-shared-default/caslibs/Samples
                uri: /casManagement/servers/cas-shared-default/caslibs/Samples
                type: application/vnd.sas.cas.caslib
                responseType: application/vnd.sas.cas.caslib
              - method: DELETE
                rel: delete
                href: /casManagement/servers/cas-shared-default/caslibs/Samples
                uri: /casManagement/servers/cas-shared-default/caslibs/Samples
              - method: GET
                rel: tables
                href: /casManagement/servers/cas-shared-default/caslibs/Samples/tables
                uri: /casManagement/servers/cas-shared-default/caslibs/Samples/tables
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.table
              - method: GET
                rel: sources
                href: /casManagement/servers/cas-shared-default/caslibs/Samples/sources
                uri: /casManagement/servers/cas-shared-default/caslibs/Samples/sources
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.source.table
              - method: GET
                rel: dataSource
                href: /dataSources/providers/cas/sources/cas-shared-default~fs~Samples
                uri: /dataSources/providers/cas/sources/cas-shared-default~fs~Samples
                type: application/vnd.sas.data.source
            transient: false
        limit: 10
        version: 2
    caslibExample:
      description: A sample caslib object.
      value:
        name: CASUSER(userId)
        metadataId: 26ea7916-86af-4547-9180-9876512345cc
        description: Personal File System caslib
        path: /u/userId/
        scope: global
        type: PATH
        hidden: false
        transient: false
        version: 1
        attributes:
          - key: active
            value:
              ? "false"
          - key: personal
            value:
              ? "true"
          - key: subDirs
            value:
              ? "true"
        links:
          - href: /casManagement/servers/casServer/caslibs
            itemType: application/vnd.sas.cas.caslib
            method: GET
            rel: up
            type: application/vnd.sas.collection
            uri: /casManagement/servers/casServer/caslibs
          - href: /casManagement/servers/casServer/caslibs/CASUSER(userId)
            method: GET
            rel: self
            type: application/vnd.sas.cas.caslib
            uri: /casManagement/servers/casServer/caslibs/CASUSER(userId)
          - href: casManagement/servers/casServer/caslibs/CASUSER(userId)
            method: PATCH
            rel: patch
            responseType: application/vnd.sas.cas.caslib
            type: application/vnd.sas.cas.caslib
            uri: /casManagement/servers/casServer/caslibs/CASUSER(userId)
          - href: /casManagement/servers/casServer/caslibs/CASUSER(userId)
            method: DELETE
            rel: delete
            uri: /casManagement/servers/casServer/caslibs/CASUSER(userId)
          - href: /casManagement/servers/casServer/caslibs/CASUSER(userId)/tables
            method: GET
            rel: tables
            type: application/vnd.sas.collection
            uri: /casManagement/servers/casServer/caslibs/CASUSER(userId)/tables
          - href: /dataSources/providers/cas/sources/cas-shared-default~fs~CASUSER(userId)
            method: GET
            rel: dataSource
            uri: /dataSources/providers/cas/sources/cas-shared-default~fs~CASUSER(userId)
            type: application/vnd.sas.data.source
    caslibCreateRequestExample:
      description: A sample request to create a caslib.
      value:
        createDirectory: true
        permission: GROUPWRITE
        caslib:
          version: 1
          name: mylib
          type: PATH
          description: My CAS library with create directory and group write.
          scope: global
          path: /tmp/mylib
          attributes:
            - key: key name
              value:
                ? value
    settingsExample:
      description: A sample settings object.
      value:
        version: 1
        links:
          - method: GET
            rel: self
            href: /casManagement/commons/settings
            uri: /casManagement/commons/settings
        attributes:
          application.casServer: cas-shared-default
          application.caslib: AppData
          default.casServer: cas-shared-default
          default.caslib: Public
          system.casServer: cas-shared-default
          system.caslib: SystemData
          reference.caslib: ReferenceData
          tempTablesCopiesCount: 0
          fileUploadEnabled: true
          maxFileUploadSize: 4096
    tableCollectionExample:
      description: A sample collection of application/vnd.sas.cas.table objects.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/caslibs/Public/
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/
            type: application/vnd.sas.cas.caslib
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables?scope=all&caslibName=Public&excludeItemLinks=false&sourcesOnly=false&state=all&start=0&limit=2
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables?scope=all&caslibName=Public&excludeItemLinks=false&sourcesOnly=false&state=all&start=0&limit=2
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.table
          - method: GET
            rel: collection
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.table
          - method: GET
            rel: next
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables?scope=all&caslibName=Public&excludeItemLinks=false&sourcesOnly=false&state=all&start=2&limit=2
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables?scope=all&caslibName=Public&excludeItemLinks=false&sourcesOnly=false&state=all&start=2&limit=2
            type: application/vnd.sas.collection
          - method: GET
            rel: last
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables?scope=all&caslibName=Public&excludeItemLinks=false&sourcesOnly=false&state=all&start=8&limit=2
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables?scope=all&caslibName=Public&excludeItemLinks=false&sourcesOnly=false&state=all&start=8&limit=2
            type: application/vnd.sas.collection
          - method: POST
            rel: upload
            href: /casManagement/servers/cas-shared-default/caslibs/Public/tables
            uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables
            responseType: application/vnd.sas.cas.table
        name: tables
        accept: application/vnd.sas.cas.table
        count: 9
        items:
          - version: 1
            name: CONTACTS
            tableReference:
              tableUri: /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/CONTACTS
              sessionId: 08863edb-02e0-7945-88e7-9f55ebc7a310
              sourceCaslibName: Public
              sourceTableName: Contacts.sashdat
            scope: global
            state: loaded
            repeated: false
            created: 2017-09-15T20:38:06.549000Z
            lastModified: 2017-09-15T20:38:06.551000Z
            lastAccessed: 2017-09-15T20:38:06.550000Z
            createdBy: userId
            rowCount: 3276
            columnCount: 12
            characterSet: UTF8
            encoding: utf-8
            serverName: cas-shared-default
            caslibName: Public
            disconnected: false
            attributes:
              owner: userid
              size: 796288
              encryption: NONE
              time: 15Sep2017:20:29:02
              group: mygroup
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.table
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS
                type: application/vnd.sas.cas.table
              - method: POST
                rel: save
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS
                type: application/vnd.sas.cas.table.save.request
                responseType: application/vnd.sas.cas.table
              - method: DELETE
                rel: delete
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS
              - method: GET
                rel: summaryStatistics
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/summaryStatistics
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/summaryStatistics
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.column.summary.statistics
              - method: GET
                rel: distinctCount
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/distinctCount
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/distinctCount
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.column.summary.statistics
              - method: PUT
                rel: updateScope
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/scope
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/scope
                responseType: application/json;text/plain
              - method: PUT
                rel: updateState
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/state
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/state
                responseType: application/json;text/plain
              - method: GET
                rel: columns
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/CONTACTS/columns
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.column
              - method: GET
                rel: dataTable
                href: /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/CONTACTS
                uri: /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/CONTACTS
                type: application/vnd.sas.data.table
          - version: 1
            name: MYDATA
            tableReference:
              tableUri: /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/MYDATA
              sessionId: 08863edb-02e0-7945-88e7-9f55ebc7a310
              sourceCaslibName: Public
              sourceTableName: mydata.sashdat
            scope: global
            state: loaded
            repeated: false
            created: 2017-09-15T20:35:02.376000Z
            lastModified: 2017-09-15T20:35:02.377000Z
            lastAccessed: 2017-09-15T20:35:02.377000Z
            createdBy: userId
            rowCount: 160
            columnCount: 9
            characterSet: UTF8
            encoding: utf-8
            serverName: cas-shared-default
            caslibName: Public
            disconnected: true
            attributes:
              owner: userid
              size: 36928
              encryption: NONE
              time: 15Sep2017:20:29:08
              group: mygroup
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.table
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA
                type: application/vnd.sas.cas.table
              - method: POST
                rel: save
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA
                type: application/vnd.sas.cas.table.save.request
                responseType: application/vnd.sas.cas.table
              - method: DELETE
                rel: delete
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA
              - method: GET
                rel: summaryStatistics
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/summaryStatistics
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/summaryStatistics
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.column.summary.statistics
              - method: GET
                rel: distinctCount
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/distinctCount
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/distinctCount
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.column.summary.statistics
              - method: PUT
                rel: updateScope
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/scope
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/scope
                responseType: application/json;text/plain
              - method: PUT
                rel: updateState
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/state
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/state
                responseType: application/json;text/plain
              - method: GET
                rel: columns
                href: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/columns
                uri: /casManagement/servers/cas-shared-default/caslibs/Public/tables/MYDATA/columns
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.cas.column
              - method: GET
                rel: dataTable
                href: /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/MYDATA
                uri: /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/MYDATA
                type: application/vnd.sas.data.table
        version: 2
    tableDetailsExample:
      description: A sample application/vnd.sas.cas.table object.
      value:
        version: 3
        name: CUSTOMERS
        tableReference:
          tableUri: /dataTables/dataSources/cas~fs~cas-shared-default~fs~CASUSER/tables/CUSTOMERS
          sessionId: ad0b5228-cc89-874c-8893-c1c420f6e0cb
          sourceCaslibName: CASUSER
          sourceTableName: CUSTOMERS.sashdat
        serverName: cas-shared-default
        caslibName: CASUSER
        scope: global
        state: loaded
        repeated: false
        created: 2017-04-11T17:17:15.373000Z
        lastModified: 2017-04-11T18:50:42.106000Z
        createdBy: userid
        lastModifiedBy: userid
        lastAccessed: 2017-04-11T19:12:13.102000Z
        sourceLastModified: 2017-03-12T03:43:22.101000Z
        label: My table label
        rowCount: 160
        columnCount: 9
        characterSet: UTF8
        encoding: utf-8
        disconnected: false
        attributes:
          owner: someuser
          size: 115704
          encryption: NONE
          time: 18Nov2016:15:27:28
          group: users
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables
            uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.table
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS
            uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS
            type: application/vnd.sas.cas.table
          - method: DELETE
            rel: delete
            href: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS
            uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS
          - method: PUT
            rel: updateState
            href: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/state
            uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/state
          - method: PUT
            rel: updateScope
            href: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/scope
            uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/scope
            responseType: application/json;text/plain
          - method: GET
            rel: summaryStatistics
            href: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/summaryStatistics
            uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/summaryStatistics
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.column
          - method: GET
            rel: distinctCount
            href: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/distinctCount
            uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/distinctCount
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.column
          - method: GET
            rel: columns
            href: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/columns
            uri: /casManagement/servers/cas-shared-default/caslibs/CASUSER/tables/CUSTOMERS/columns
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.column
          - method: GET
            rel: dataTable
            href: /dataTables/dataSources/cas~fs~cas-shared-default~fs~CASUSER/tables/CUSTOMERS
            uri: /dataTables/dataSources/cas~fs~cas-shared-default~fs~CASUSER/tables/CUSTOMERS
            type: application/vnd.sas.data.table
    casServerNodeExample:
      description: Sample information about the definition of a CAS server node.
      value:
        name: worker1.grid.example.com
        version: 1
        role: worker
        ipAddress: 192.168.1.2
        connected: true
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/casServer/nodes
            uri: /casManagement/servers/casServer/nodes
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.node
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/nodes/worker1.grid.example.com
            uri: /casManagement/servers/cas-shared-default/nodes/worker1.grid.example.com
            type: application/vnd.sas.cas.server.node
          - method: DELETE
            rel: delete
            href: /casManagement/servers/cas-shared-default/nodes/worker1.grid.example.com
            uri: /casManagement/servers/cas-shared-default/nodes/worker1.grid.example.com
    casServerNodeCreateRequestExample:
      description: A sample request to create a CAS server node.
      value:
        name: worker1.grid.example.com
    casLoggerCollectionExample:
      description: A sample collection of application/vnd.sas.cas.server.logger.summary objects.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/
            uri: /casManagement/servers/cas-shared-default/
            type: application/vnd.sas.cas.server
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/loggers?locale=en_US&start=0&limit=50
            uri: /casManagement/servers/cas-shared-default/loggers?locale=en_US&start=0&limit=50
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.logger.summary
          - method: GET
            rel: collection
            href: /casManagement/servers/cas-shared-default/loggers
            uri: /casManagement/servers/cas-shared-default/loggers
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.logger.summary
        name: loggers
        accept: application/vnd.sas.cas.server.logger.summary
        start: 0
        count: 22
        items:
          - version: 1
            name: Admin
            level: info
          - version: 1
            name: App
            level: info
          - version: 1
            name: App.cas.actions
            level: info
          - version: 1
            name: App.cas.table.eventing
            level: trace
          - version: 1
            name: App.tk.eam.ssl.Buffer
            level: fatal
          - version: 1
            name: App.tk.eam.ssl.openssl102.Locks
            level: fatal
          - version: 1
            name: App.tk.eam.ssl.openssl102.Mem
            level: fatal
          - version: 1
            name: App.tk.hps.TraceNodes
            level: trace
          - version: 1
            name: App.tk.http.server.access
            level: error
          - version: 1
            name: App.tk.HTTPC.debug
            level: fatal
          - version: 1
            name: App.tk.HTTPC.wire
            level: fatal
          - version: 1
            name: Audit
            level: info
          - version: 1
            name: Audit.Authentication.cas.function
            level: info
          - version: 1
            name: Audit.Authorization.cas.ACChange
            level: info
          - version: 1
            name: Audit.Authorization.cas.function
            level: info
          - version: 1
            name: Audit.Authorization.cas.IsAuth
            level: info
          - version: 1
            name: Audit.Authorization.cas.persist
            level: info
          - version: 1
            name: Audit.Authorization.cas.sync
            level: info
          - version: 1
            name: Audit.Authorization.cas.xml
            level: info
          - version: 1
            name: Logging
            level: error
          - version: 1
            name: Perf.cas.actions
            level: info
          - version: 1
            name: root
            level: error
        limit: 50
        version: 2
    casServerLoggerSummaryExample:
      description: A sample application/vnd.sas.cas.server.logger.summary object.
      value:
        version: 1
        name: App
        level: info
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/loggers
            uri: /casManagement/servers/cas-shared-default/loggers
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.logger.summary
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/loggers/App
            uri: /casManagement/servers/cas-shared-default/loggers/App
            type: application/vnd.sas.cas.server.logger.summary
    casServerLoggerExample:
      description: A sample application/vnd.sas.cas.server.logger object.
      value:
        version: 1
        name: App
        level: info
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/loggers
            uri: /casManagement/servers/cas-shared-default/loggers
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.logger.summary
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/loggers/App
            uri: /casManagement/servers/cas-shared-default/loggers/App
            type: application/vnd.sas.cas.server.logger
    casPolicyCollectionExample:
      description: A sample collection of application/vnd.sas.cas.server.policy.summary objects.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/
            uri: /casManagement/servers/cas-shared-default/
            type: application/vnd.sas.cas.server
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/policies?locale=en_US&start=0&limit=10
            uri: /casManagement/servers/cas-shared-default/policies?locale=en_US&start=0&limit=10
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.policy.summary
          - method: GET
            rel: collection
            href: /casManagement/servers/cas-shared-default/policies
            uri: /casManagement/servers/cas-shared-default/policies
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.policy.summary
        name: policies
        accept: application/vnd.sas.cas.server.policy.summary
        start: 0
        count: 4
        items:
          - version: 1
            name: cas-shared-default-priority-1
            type: priorityLevels
            attributes:
              - key: localTables
                value:
                  ? "12000000000"
              - key: cpu
                "value:":
                  ? "45"
              - key: globalCasuser
                value:
                  ? "33000000000"
              - key: globalCasuserHdfs
                value:
                  ? "15000000000"
          - version: 1
            name: cas-shared-default-priority-2
            type: priorityLevels
            attributes:
              - key: localTables
                value:
                  ? "50000000000"
              - key: cpu
                value:
                  ? "20"
              - key: globalCasuser
                value:
                  ? "50000000000"
              - key: globalCasuserHdfs
                value:
                  ? "50000000000"
          - version: 1
            name: cas-shared-default-priority-3
            type: priorityLevels
            attributes:
              - key: cpu
                value:
                  ? "30"
              - key: localTables
                value:
                  ? "10000000000"
              - key: globalCasuser
                value:
                  ? "10000000000"
              - key: globalCasuserHdfs
                value:
                  ? "10000000000"
          - version: 1
            name: globalCaslibs
            type: globalCaslibs
            attributes:
              - key: _ALL_
                value:
                  ? "400000000000"
              - key: HPS
                value:
                  ? "100000000000"
              - key: Public
                value:
                  ? "200000000000"
        limit: 10
        version: 2
    casServerPolicySummaryExample:
      description: A sample application/vnd.sas.cas.server.policy.summary object.
      value:
        version: 1
        name: cas-shared-default-priority-3
        type: priorityLevels
        attributes:
          - key: cpu
            value:
              ? "30"
          - key: localTables
            value:
              ? "10000000000"
          - key: globalCasuser
            value:
              ? "10000000000"
          - key: globalCasuserHdfs
            value:
              ? "10000000000"
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/policies
            uri: /casManagement/servers/cas-shared-default/policies
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.policy.summary
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/policies/cas-shared-default-priority-3
            uri: /casManagement/servers/cas-shared-default/policies/cas-shared-default-priority-3
            type: application/vnd.sas.cas.server.policy.summary
    casServerPolicyExample:
      description: A sample application/vnd.sas.cas.server.policy object.
      value:
        version: 1
        name: cas-shared-default-priority-3
        type: priorityLevels
        attributes:
          - key: cpu
            value:
              ? "30"
          - key: localTables
            value:
              ? "10000000000"
          - key: globalCasuser
            value:
              ? "10000000000"
          - key: globalCasuserHdfs
            value:
              ? "10000000000"
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/policies
            uri: /casManagement/servers/cas-shared-default/policies
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.cas.server.policy.summary
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/policies/cas-shared-default-priority-3
            uri: /casManagement/servers/cas-shared-default/policies/cas-shared-default-priority-3
            type: application/vnd.sas.cas.server.policy
    updateServerStateExample:
      description: A sample text/plain response from updating a server's state.
      value: stopped
    engineCollectionExample:
      description: A sample collection of application/vnd.sas.data.engine objects.
      value:
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/
            uri: /casManagement/servers/cas-shared-default/
            type: application/vnd.sas.cas.server
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/dataConnectors?sessionId&start=0&limit=100
            uri: /casManagement/servers/cas-shared-default/dataConnectors?sessionId&start=0&limit=100
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.data.engine
          - method: GET
            rel: collection
            href: /casManagement/servers/cas-shared-default/dataConnectors
            uri: /casManagement/servers/cas-shared-default/dataConnectors
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.data.engine
        name: dataConnectors
        accept: application/vnd.sas.data.engine
        count: 15
        items:
          - name: db2
            nickname: DB2
            legalName: SAS Data Connector to DB2
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/db2
                uri: /casManagement/servers/cas-shared-default/dataConnectors/db2
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/db2/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/db2/definition
                type: application/json
            version: 1
          - name: default
            nickname: DEFAULT
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/default
                uri: /casManagement/servers/cas-shared-default/dataConnectors/default
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/default/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/default/definition
                type: application/json
            version: 1
          - name: dnfs
            nickname: DNFS
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/dnfs
                uri: /casManagement/servers/cas-shared-default/dataConnectors/dnfs
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/dnfs/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/dnfs/definition
                type: application/json
            version: 1
          - name: esp
            nickname: ESP
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/esp
                uri: /casManagement/servers/cas-shared-default/dataConnectors/esp
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/esp/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/esp/definition
                type: application/json
            version: 1
          - name: hadoop
            nickname: HADOOP
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/hadoop
                uri: /casManagement/servers/cas-shared-default/dataConnectors/hadoop
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/hadoop/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/hadoop/definition
                type: application/json
            version: 1
          - name: hdfs
            nickname: HDFS
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/hdfs
                uri: /casManagement/servers/cas-shared-default/dataConnectors/hdfs
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/hdfs/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/hdfs/definition
                type: application/json
            version: 1
          - name: impala
            nickname: IMPALA
            legalName: SAS Data Connect to Impala
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/impala
                uri: /casManagement/servers/cas-shared-default/dataConnectors/impala
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/impala/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/impala/definition
                type: application/json
            version: 1
          - name: lasr
            nickname: LASR
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/lasr
                uri: /casManagement/servers/cas-shared-default/dataConnectors/lasr
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/lasr/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/lasr/definition
                type: application/json
            version: 1
          - name: odbc
            nickname: ODBC
            legalName: SAS Data Connect to ODBC
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/odbc
                uri: /casManagement/servers/cas-shared-default/dataConnectors/odbc
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/odbc/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/odbc/definition
                type: application/json
            version: 1
          - name: oracle
            nickname: ORACLE
            legalName: Data Connector to Oracle
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/oracle
                uri: /casManagement/servers/cas-shared-default/dataConnectors/oracle
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/oracle/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/oracle/definition
                type: application/json
            version: 1
          - name: path
            nickname: PATH
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/path
                uri: /casManagement/servers/cas-shared-default/dataConnectors/path
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/path/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/path/definition
                type: application/json
            version: 1
          - name: postgres
            nickname: POSTGRES
            legalName: Data Connector to PostgreSQL
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/postgres
                uri: /casManagement/servers/cas-shared-default/dataConnectors/postgres
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/postgres/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/postgres/definition
                type: application/json
            version: 1
          - name: redshift
            nickname: REDSHIFT
            legalName: Data Connector to Amazon Redshift
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/redshift
                uri: /casManagement/servers/cas-shared-default/dataConnectors/redshift
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/redshift/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/redshift/definition
                type: application/json
            version: 1
          - name: s3
            nickname: S3
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/s3
                uri: /casManagement/servers/cas-shared-default/dataConnectors/s3
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/s3/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/s3/definition
                type: application/json
            version: 1
          - name: teradata
            nickname: TERADATA
            legalName: SAS Data Connect to Teradata
            providerId: cas
            dataSourceId: cas-shared-default
            licensed: true
            hasDefinition: true
            links:
              - method: GET
                rel: up
                href: /casManagement/servers/cas-shared-default/dataConnectors
                uri: /casManagement/servers/cas-shared-default/dataConnectors
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.data.engine
              - method: GET
                rel: self
                href: /casManagement/servers/cas-shared-default/dataConnectors/teradata
                uri: /casManagement/servers/cas-shared-default/dataConnectors/teradata
                type: application/vnd.sas.data.engine
              - method: GET
                rel: definition
                href: /casManagement/servers/cas-shared-default/dataConnectors/teradata/definition
                uri: /casManagement/servers/cas-shared-default/dataConnectors/teradata/definition
                type: application/json
            version: 1
        limit: 100
        version: 2
    engineExample:
      description: A sample application/vnd.sas.data.engine object.
      value:
        name: db2
        nickname: DB2
        legalName: SAS Data Connector to DB2
        providerId: cas
        dataSourceId: cas-shared-default
        licensed: true
        hasDefinition: true
        links:
          - method: GET
            rel: up
            href: /casManagement/servers/cas-shared-default/dataConnectors
            uri: /casManagement/servers/cas-shared-default/dataConnectors
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.data.engine
          - method: GET
            rel: self
            href: /casManagement/servers/cas-shared-default/dataConnectors/db2
            uri: /casManagement/servers/cas-shared-default/dataConnectors/db2
            type: application/vnd.sas.data.engine
          - method: GET
            rel: definition
            href: /casManagement/servers/cas-shared-default/dataConnectors/db2/definition
            uri: /casManagement/servers/cas-shared-default/dataConnectors/db2/definition
            type: application/json
        version: 1
    engineDefinitionExample:
      description: A sample definition of an engine.
      value:
        $schema: http://json-schema.org/draft-04/schema#
        title: DNFS
        description: dnfs
        type: object
        additionalProperties: false
        required:
          - engineName
        properties:
          engineName:
            title: DNFS
            type: string
            default: DNFS
            enum:
              - DNFS
          general:
            title: General options
            description: General options for this Caslib.
            type: object
            additionalProperties: false
            properties:
              path:
                type: string
                title: Path
                description: specifies data source-specific information.  For PATH, DNFS and HDFS, this is a file system path.
                default: ""
                properties:
                  isUserName:
                    enum:
                      - false
                  isPassword:
                    enum:
                      - false
                  isPath:
                    enum:
                      - false
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - Specifies data source-specific information.  For PATH, DNFS and HDFS, this is a file system path.
              hidden:
                type: boolean
                title: Hidden
                description: when set to True, the Caslib is added as a hidden Caslib.
                default: false
                properties:
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - When set to True, the Caslib is added as a hidden Caslib.
              transient:
                type: boolean
                title: Transient
                description: when set to True, the Caslib is added as a transient Caslib.
                default: false
                properties:
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - When set to True, the Caslib is added as a transient Caslib.
              session:
                type: boolean
                title: Session scope
                description: when set to True, the Caslib is scoped to the current session only. Tables that you load in this session cannot be accessed from other sessions. If you specify False, then the Caslib is visible to other sessions, subject to access controls.
                default: true
                properties:
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - When set to True, the Caslib is scoped to the current session only. Tables that you load in this session cannot be accessed from other sessions. If you specify False, then the Caslib is visible to other sessions, subject to access controls.
              name:
                type: string
                title: Caslib
                description: specifies the name of the Caslib to add.
                properties:
                  isUserName:
                    enum:
                      - false
                  isPassword:
                    enum:
                      - false
                  isPath:
                    enum:
                      - false
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - true
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - Specifies the name of the Caslib to add.
              description:
                type: string
                title: Description
                description: specifies a description of the Caslib.
                default: ""
                properties:
                  isUserName:
                    enum:
                      - false
                  isPassword:
                    enum:
                      - false
                  isPath:
                    enum:
                      - false
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - Specifies a description of the Caslib.
              createDirectory:
                type: boolean
                title: Create directory
                description: when set to True, the server attempts to create the directory for the Caslib.
                default: false
                properties:
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - When set to True, the server attempts to create the directory for the Caslib.
              permission:
                type: string
                title: Permission
                description: specifies the host access controls on the Caslib when directory creation is requested.
                enum:
                  - GroupRead
                  - GroupWrite
                  - GroupWritePublicRead
                  - Private
                  - PublicRead
                  - PublicWrite
                properties:
                  isUserName:
                    enum:
                      - false
                  isPassword:
                    enum:
                      - false
                  isPath:
                    enum:
                      - false
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - Specifies the host access controls on the Caslib when directory creation is requested.
              subDirectories:
                type: boolean
                title: Subdirectories
                description: when set to True, tables and files in subdirectories of the path specified in the Caslib definition are accessible from the Caslib.
                default: false
                properties:
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - When set to True, tables and files in subdirectories of the path specified in the Caslib definition are accessible from the Caslib.
              activeOnAdd:
                type: boolean
                title: Active on add
                description: when set to True, the new Caslib becomes the active Caslib.
                default: true
                properties:
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - true
                  toolTip:
                    enum:
                      - When set to True, the new Caslib becomes the active Caslib.
          datasource:
            title: Data source options
            description: Data source options for this Caslib.
            type: object
            additionalProperties: false
            properties:
              srcType:
                type: string
                title: srcType
                description: ""
                enum:
                  - dnfs
                properties:
                  isUserName:
                    enum:
                      - false
                  isPassword:
                    enum:
                      - false
                  isPath:
                    enum:
                      - false
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - true
                  isCommon:
                    enum:
                      - false
                  toolTip:
                    enum:
                      - ""
              encryptionPassword:
                type: string
                title: Data encryption password
                description: specifies a password for encrypting or decrypting stored data.
                properties:
                  isUserName:
                    enum:
                      - false
                  isPassword:
                    enum:
                      - true
                  isPath:
                    enum:
                      - false
                  isHideValue:
                    enum:
                      - true
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - false
                  toolTip:
                    enum:
                      - Specifies a password for encrypting or decrypting stored data.
              encryptionDomain:
                type: string
                title: Encryption domain
                description: specifies the name for a collection of data that is stored with a common encryption password.
                properties:
                  isUserName:
                    enum:
                      - false
                  isPassword:
                    enum:
                      - false
                  isPath:
                    enum:
                      - false
                  isHideValue:
                    enum:
                      - false
                  isRequired:
                    enum:
                      - false
                  isCommon:
                    enum:
                      - false
                  toolTip:
                    enum:
                      - Specifies the name for a collection of data that is stored with a common encryption password.
