NAV Navbar
Home icon
SAS Viya REST APIs
shell javascript python
  • Data Management
  • Data Management

    Data Quality

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    The Data Quality API retrieves information about locales, functions, definitions, and tokens provided by a Quality Knowledge Base (QKB).

    To provide your own session: Endpoints under /dataQuality/environments/CAS/contexts/{{casServer}} support an optional sessionId parameter, which enables you to provide your own session to the Data Quality service. Providing a session can significantly improve performance. Management of the session is a client responsibility; the Data Quality service will not destroy the session after using it.

    Base URLs:

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.api+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.api+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.api+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /

    Returns a list of top-level resource links provided by the Data Quality API.

    Example responses

    200

    {
      "version": 1,
      "links": [
        {
          "method": "GET",
          "rel": "environments",
          "href": "/dataQuality/environments",
          "uri": "/dataQuality/environments",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.environment"
        },
        {
          "method": "GET",
          "rel": "qkbs",
          "href": "/dataQuality/qkbs",
          "uri": "/dataQuality/qkbs",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.qkb"
        }
      ]
    }
    
    Status Meaning Description Schema
    200 OK The request succeeded. A list of resources was returned. api
    404 Not Found No service exists at the requested path. None

    Get header information and verify that the service is available

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataQuality/
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataQuality/', params={
    
    )
    
    print r.json()
    
    

    HEAD /

    Returns header information and verifies that the Data Quality service is running.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The Data Quality service is available and running. None
    404 Not Found No service exists at the requested path. None

    Get a list of all QKBs on all contexts

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/qkbs \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/qkbs',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/qkbs', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /qkbs

    Returns a list of all available QKBs on all execution contexts that are available to the user.

    Parameters

    Parameter In Type Required Description
    start query integer false 0-based index of first QKB to return. Defaults to 0.
    limit query integer false Specifies the maximum number of QKBs to return in a single page of results. The actual number of returned QKBs can be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Specifies filter criteria for the returned QKBs.
    Filtering is supported on the name, product, version, default, created, context, and environment fields. The supported functions are and, or, not, in, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries
    • Filter by name starting with 'qkb': /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?filter=startsWith(name, 'qkb')
    • Filter by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?filter=eq(name, 'qkb1')
    • Filter for multiple QKBs /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?filter=in(name, 'qkb1', 'qkb2', 'qkb')
    sortBy query string(sort-criteria) false Specifies sort criteria for the returned QKBs.
    Sorting is supported on the name, product, version, default, created, context, and environment fields. The default sort order is ascending on the name field. Some sample sorts
    • Sort ascending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?sortBy=name:ascending
    • Sort descending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?sortBy=name:descending

    Example responses

    200

    [
      {
        "links": [
          {
            "method": "GET",
            "rel": "collection",
            "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
            "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.data.quality.qkb"
          },
          {
            "method": "GET",
            "rel": "self",
            "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs?sortBy=name&start=0&limit=10",
            "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs?sortBy=name&start=0&limit=10",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.data.quality.qkb"
          },
          {
            "method": "GET",
            "rel": "up",
            "href": "/dataQuality/environments/CAS/contexts/casqkb/",
            "uri": "/dataQuality/environments/CAS/contexts/casqkb/",
            "type": "application/vnd.sas.data.quality.context"
          }
        ],
        "name": "qkbs",
        "accept": "application/vnd.sas.data.quality.qkb",
        "items": [
          {
            "version": 1,
            "name": "QKB_USPOCH",
            "product": "CI",
            "productVersion": "v27",
            "isDefault": false,
            "creationTimeStamp": "2017-01-06T14:59:27.000Z",
            "context": "casqkb",
            "environment": "CAS",
            "links": [
              {
                "method": "GET",
                "rel": "self",
                "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH",
                "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH",
                "type": "application/vnd.sas.data.quality.qkb"
              },
              {
                "method": "GET",
                "rel": "up",
                "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
                "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.data.quality.qkb"
              },
              {
                "method": "GET",
                "rel": "locales",
                "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
                "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.data.quality.locale"
              }
            ]
          }
        ],
        "version": 2
      }
    ]
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. A list of available QKBs was returned. Inline
    404 Not Found No service exists at the requested path. None

    Get a list of all available QKBs

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs

    Returns a list of all QKBs in a specified execution environment that are available to the user.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    start query integer false Specifies a 0-based index of the first QKB to return. Defaults to 0.
    limit query integer false Specifies the maximum number of QKB names to return in a single page of results. The actual number of returned QKBs can be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Specifies filter criteria for the returned QKB names.
    Filtering is supported on the name, product, version, default, created, context, and environment fields. The supported functions are and, or, not, in, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries
    • Filter by name starting with 'qkb': /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?filter=startsWith(name, 'qkb')
    • Filter by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?filter=eq(name, 'qkb1')
    • Filter for multiple QKBs /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?filter=in(name, 'qkb1', 'qkb2', 'qkb')
    sortBy query string(sort-criteria) false Specifies sort criteria for the returned QKB names.
    Sorting is supported for the name, product, version, default, created, context, and environment fields. The default sort order is ascending on the name field. Some sample sorts
    • Sort ascending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?sortBy=name:ascending
    • Sort descending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs?sortBy=name:descending
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    [
      {
        "links": [
          {
            "method": "GET",
            "rel": "collection",
            "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
            "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.data.quality.qkb"
          },
          {
            "method": "GET",
            "rel": "self",
            "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs?sortBy=name&start=0&limit=10",
            "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs?sortBy=name&start=0&limit=10",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.data.quality.qkb"
          },
          {
            "method": "GET",
            "rel": "up",
            "href": "/dataQuality/environments/CAS/contexts/casqkb/",
            "uri": "/dataQuality/environments/CAS/contexts/casqkb/",
            "type": "application/vnd.sas.data.quality.context"
          }
        ],
        "name": "qkbs",
        "accept": "application/vnd.sas.data.quality.qkb",
        "items": [
          {
            "version": 1,
            "name": "QKB_USPOCH",
            "product": "CI",
            "productVersion": "v27",
            "isDefault": false,
            "creationTimeStamp": "2017-01-06T14:59:27.000Z",
            "context": "casqkb",
            "environment": "CAS",
            "links": [
              {
                "method": "GET",
                "rel": "self",
                "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH",
                "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH",
                "type": "application/vnd.sas.data.quality.qkb"
              },
              {
                "method": "GET",
                "rel": "up",
                "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
                "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.data.quality.qkb"
              },
              {
                "method": "GET",
                "rel": "locales",
                "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
                "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.data.quality.locale"
              }
            ]
          }
        ],
        "version": 2
      }
    ]
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. A list of available QKBs was successfully returned. Inline
    404 Not Found No service exists at the requested path. None

    Get QKB information

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.quality.qkb+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.quality.qkb+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.quality.qkb+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}

    Returns information for a QKB in a specified execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB in the specified execution environment.
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "version": 1,
      "name": "QKB_USPOCH",
      "product": "CI",
      "productVersion": "v27",
      "isDefault": false,
      "creationTimeStamp": "2017-01-06T14:59:27.000Z",
      "context": "casqkb",
      "environment": "CAS",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH",
          "type": "application/vnd.sas.data.quality.qkb"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.qkb"
        },
        {
          "method": "GET",
          "rel": "locales",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.locale"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. QKB information was successfully returned. qkb
    404 Not Found No service exists at the requested path. None

    Get header information and verify that the QKB exists

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}', params={
    
    )
    
    print r.json()
    
    

    HEAD /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}

    Returns header information and verifies that a QKB exists in a specified execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB.
    sessionId query string false Specifies the session identifier.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The QKB exists in the specified context. None
    404 Not Found No service exists at the requested path. None

    Get a list of all available execution environments

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments

    Returns a list of all of the execution environments that are available to the user.

    Parameters

    Parameter In Type Required Description
    start query integer false Provides 0-based index of the first execution environment to return. Defaults to 0.
    limit query integer false Specifies the maximum number of environments to return in one page of results. The actual number of returned contexts can be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Specifies filter criteria for the returned execution environments.
    Filtering is supported on the name field. The supported functions are and, or, not, in, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries
    • Filter based on names starting with 'env': /dataQuality/environments/{environmentName}/contexts?filter=startsWith(name, 'env')
    • Filter by name: /dataQuality/environments/{environmentName}/contexts?filter=eq(id, 'context1')
    • Filter for multiple names: /dataQuality/environments/{environmentName}/contexts?filter=in(name, 'context1', 'context2', 'context3')
    sortBy query string(sort-criteria) false Specifies sort criteria for the returned execution environments.
    Sorting is supported on the name field. The default sort order is ascending on the name field. Some sample sorts
    • Sort ascending by name /dataQuality/environments/{environmentName}/contexts?sortBy=name:ascending
    • Sort descending by name /dataQuality/environments/{environmentName}/contexts?sortBy=name:descending

    Example responses

    200

    [
      {
        "links": [
          {
            "method": "GET",
            "rel": "collection",
            "href": "/dataQuality/environments",
            "uri": "/dataQuality/environments",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.data.quality.environment"
          },
          {
            "method": "GET",
            "rel": "self",
            "href": "/dataQuality/environments?sortBy=name&start=0&limit=10",
            "uri": "/dataQuality/environments?sortBy=name&start=0&limit=10",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.data.quality.environment"
          },
          {
            "method": "GET",
            "rel": "up",
            "href": "/dataQuality/",
            "uri": "/dataQuality/",
            "type": "application/vnd.sas.collection"
          }
        ],
        "name": "environments",
        "accept": "application/vnd.sas.data.quality.environment",
        "items": [
          {
            "version": 1,
            "name": "CAS",
            "links": [
              {
                "method": "GET",
                "rel": "self",
                "href": "/dataQuality/environments/CAS",
                "uri": "/dataQuality/environments/CAS",
                "type": "application/vnd.sas.data.quality.environment"
              },
              {
                "method": "GET",
                "rel": "up",
                "href": "/dataQuality/environments",
                "uri": "/dataQuality/environments",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.data.quality.environment"
              },
              {
                "method": "GET",
                "rel": "contexts",
                "href": "/dataQuality/environments/CAS/contexts",
                "uri": "/dataQuality/environments/CAS/contexts",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.data.quality.context"
              }
            ]
          }
        ],
        "version": 2
      }
    ]
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. A list of available execution environments was returned. Inline
    404 Not Found No service exists at the requested path. None

    Get details about an execution environment

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.quality.environment+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.quality.environment+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.quality.environment+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}

    Returns information about a specified execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.

    Example responses

    200

    {
      "version": 1,
      "name": "CAS",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS",
          "uri": "/dataQuality/environments/CAS",
          "type": "application/vnd.sas.data.quality.environment"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments",
          "uri": "/dataQuality/environments",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.environment"
        },
        {
          "method": "GET",
          "rel": "contexts",
          "href": "/dataQuality/environments/CAS/contexts",
          "uri": "/dataQuality/environments/CAS/contexts",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.context"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Information was returned for the specified execution environment. environment
    404 Not Found No service exists at the requested path. None

    Get header information and verify that an execution environment exists

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataQuality/environments/{environmentName}
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataQuality/environments/{environmentName}', params={
    
    )
    
    print r.json()
    
    

    HEAD /environments/{environmentName}

    Returns header information and verifies the existence of a specified execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The specified execution environment exists. None
    404 Not Found No service exists at the requested path. None

    Get a list of all available execution contexts

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts

    Returns a list of all of the execution environments that are available to the user.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    start query integer false Specifies a 0-based index of the first execution environment to return. Defaults to 0.
    limit query integer false Specifies the maximum number of execution environments to return in one page of results. The actual number of returned execution environments can be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Specifies filter criteria for the returned execution environments.
    Filtering is supported on the name, type, description, host, port, and restPort fields. The supported functions are and, or, not, in, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries
    • Filter based on names starting with 'env': /dataQuality/environments/{environmentName}/contexts?filter=startsWith(name, 'env')
    • Filter by name: /dataQuality/environments/{environmentName}/contexts?filter=eq(id, 'context1')
    • Filter for multiple names: /dataQuality/environments/{environmentName}/contexts?filter=in(name, 'context1', 'context2', 'context3')
    sortBy query string(sort-criteria) false Specifies sort criteria for the list of returned execution environments.
    Sorting is supported on the name, type, description, host, port, and restPort fields. The default sort order is ascending on the name field. Some sample sorts
    • Sort ascending by name /dataQuality/environments/{environmentName}/contexts?sortBy=name:ascending
    • Sort descending by name /dataQuality/environments/{environmentName}/contexts?sortBy=name:descending

    Example responses

    200

    [
      {
        "links": [
          {
            "method": "GET",
            "rel": "collection",
            "href": "/dataQuality/environments/CAS/contexts",
            "uri": "/dataQuality/environments/CAS/contexts",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.data.quality.context"
          },
          {
            "method": "GET",
            "rel": "self",
            "href": "/dataQuality/environments/CAS/contexts?sortBy=name&start=0&limit=10",
            "uri": "/dataQuality/environments/CAS/contexts?sortBy=name&start=0&limit=10",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.data.quality.context"
          },
          {
            "method": "GET",
            "rel": "up",
            "href": "/dataQuality/environments/CAS/",
            "uri": "/dataQuality/environments/CAS/",
            "type": "application/vnd.sas.collection"
          }
        ],
        "name": "contexts",
        "accept": "application/vnd.sas.data.quality.context",
        "items": [
          {
            "version": 1,
            "name": "casqkb",
            "type": "CAS",
            "description": "controller",
            "host": "server.example.com",
            "state": "running",
            "links": [
              {
                "method": "GET",
                "rel": "self",
                "href": "/dataQuality/environments/CAS/contexts/casqkb",
                "uri": "/dataQuality/environments/CAS/contexts/casqkb",
                "type": "application/vnd.sas.data.quality.context"
              },
              {
                "method": "GET",
                "rel": "up",
                "href": "/dataQuality/environments/CAS/contexts",
                "uri": "/dataQuality/environments/CAS/contexts",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.data.quality.context"
              },
              {
                "method": "GET",
                "rel": "qkbs",
                "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
                "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
                "type": "application/vnd.sas.collection",
                "itemType": "application/vnd.sas.data.quality.qkb"
              }
            ]
          }
        ],
        "version": 2
      }
    ]
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. A sorted list of available execution environments was returned. Inline
    404 Not Found No service exists at the requested path. None

    Get context details

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.quality.context+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.quality.context+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.quality.context+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}

    Returns information about a specified execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "version": 1,
      "name": "casqkb",
      "type": "CAS",
      "description": "controller",
      "host": "www.example.com",
      "state": "running",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb",
          "type": "application/vnd.sas.data.quality.context"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts",
          "uri": "/dataQuality/environments/CAS/contexts",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.context"
        },
        {
          "method": "GET",
          "rel": "qkbs",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.qkb"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Context information was returned. context
    404 Not Found No service exists at the requested path. None

    Get header information and verify the existence of a context

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}', params={
    
    )
    
    print r.json()
    
    

    HEAD /environments/{environmentName}/contexts/{contextName}

    Returns header information and verifies that an execution environment exists.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of an execution environment.
    contextName path string true Specifies the name of an execution environment.
    sessionId query string false Specifies the session identifier.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The specified context exists. None
    404 Not Found No service exists at the requested path. None

    Get a locale list

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales

    Returns a list of the locales in a specified QKB and execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB.
    start query integer false Specifies a 0-based index of the first locale to return. Defaults to 0.
    limit query integer false Specifies the maximum number of locales to return in a single page of results. The actual number of returned locales can be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Specifies filter criteria for the returned locales.
    Filtering is supported on the name and description fields. The supported functions are and, or, not, in, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries
    • Filter by name starting with 'EN': /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales?filter=startsWith(name, 'EN')
    • Filter by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales?filter=eq(name, 'AFZAF')
    • Filter for multiple locales /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales?filter=in(name, 'ENUSA', 'ENGBR')
    sortBy query string(sort-criteria) false Specifies sort criteria for the returned locales.
    Sorting is supported on the name and description fields. The default sort order is ascending on the name field. Some sample sorts
    • Sort ascending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales?sortBy=name:ascending
    • Sort descending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales?sortBy=name:descending
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.locale"
        },
        {
          "method": "GET",
          "rel": "next",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales?sortBy=name&start=2&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales?sortBy=name&start=2&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.locale"
        },
        {
          "method": "GET",
          "rel": "last",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales?sortBy=name&start=2&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales?sortBy=name&start=2&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.locale"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales?sortBy=name&start=0&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales?sortBy=name&start=0&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.locale"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/",
          "type": "application/vnd.sas.data.quality.qkb"
        }
      ],
      "name": "locales",
      "accept": "application/vnd.sas.data.quality.locale",
      "items": [
        {
          "version": 1,
          "name": "ENUSA",
          "description": "English (United States)",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA",
              "type": "application/vnd.sas.data.quality.locale"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.locale"
            },
            {
              "method": "GET",
              "rel": "functions",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.function"
            }
          ]
        },
        {
          "version": 1,
          "name": "PLPOL",
          "description": "Polish (Poland)",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/PLPOL",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/PLPOL",
              "type": "application/vnd.sas.data.quality.locale"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.locale"
            },
            {
              "method": "GET",
              "rel": "functions",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/PLPOL/functions",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/PLPOL/functions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.function"
            }
          ]
        }
      ],
      "version": 2
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. A list of available locales was successfully returned. localeCollection
    404 Not Found No service exists at the requested path. No QKB exists in the specified context. None

    Get QKB locale information

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.quality.locale+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.quality.locale+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.quality.locale+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}

    Returns locale information for a specified QKB and execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB in the specified execution environment.
    localeName path string true Specifies the name of the locale in the specified QKB.
    sessionId query string false Specifies the session ID.

    Example responses

    200

    {
      "version": 1,
      "name": "ENUSA",
      "description": "English (United States)",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA",
          "type": "application/vnd.sas.data.quality.locale"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.locale"
        },
        {
          "method": "GET",
          "rel": "functions",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.function"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Locale information was successfully returned. locale
    404 Not Found No service exists at the requested path. No locale or QKB exists in the specified context. None

    Get header information and verify that a locale exists

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}', params={
    
    )
    
    print r.json()
    
    

    HEAD /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}

    Returns header information and verifies that a locale exists in a specified QKB and execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB in the specified execution environment.
    localeName path string true Specifies the name of locale in the specified QKB.
    sessionId query string false Specifies the session identifier.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The specified locale exists in the specified QKB. None
    404 Not Found No service exists at the requested path. The specified locale does not exist in the specified QKB. None

    Get supported functions for a locale

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions

    Returns a list of functions that are supported by a specified locale, QKB, and execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of an execution environment.
    contextName path string true Specifies the name of an execution environment.
    qkbName path string true Specifies the name of a QKB in the specified execution environment.
    localeName path string true Specifies the name of a locale in the specified QKB.
    start query integer false Specifies a 0-based index of the first function to return. Defaults to 0.
    limit query integer false Specifies the maximum number of functions to return in a single page of results. The actual number of returned functions can be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Specifies filter criteria for the returned functions.
    Filtering is supported on the name field. The supported functions are and, or, not, in, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries
    • Search by name starting with 'M': /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions?filter=startsWith(name, 'M')
    • Search by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions?filter=eq(name, 'Standardization')
    • Filter for multiple functions /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions?filter=in(name, 'Match','Standardization')
    sortBy query string(sort-criteria) false Specifies sort criteria for the returned functions.
    Sorting is supported on the name field. The default sort order is ascending on the name field. Some sample sorts
    • Sort ascending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions?sortBy=name:ascending
    • Sort descending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions?sortBy=name:descending
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.function"
        },
        {
          "method": "GET",
          "rel": "next",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions?sortBy=name&start=2&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions?sortBy=name&start=2&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.function"
        },
        {
          "method": "GET",
          "rel": "last",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions?sortBy=name&start=8&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions?sortBy=name&start=8&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.function"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions?sortBy=name&start=0&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions?sortBy=name&start=0&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.function"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/",
          "type": "application/vnd.sas.data.quality.locale"
        }
      ],
      "name": "functions",
      "accept": "application/vnd.sas.data.quality.function",
      "items": [
        {
          "version": 1,
          "name": "Case",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Case",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Case",
              "type": "application/vnd.sas.data.quality.function"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.function"
            },
            {
              "method": "GET",
              "rel": "definitions",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Case/definitions",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Case/definitions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.definition"
            }
          ]
        },
        {
          "version": 1,
          "name": "Extraction",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Extraction",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Extraction",
              "type": "application/vnd.sas.data.quality.function"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.function"
            },
            {
              "method": "GET",
              "rel": "definitions",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Extraction/definitions",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Extraction/definitions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.definition"
            }
          ]
        }
      ],
      "version": 2
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. A list of available functions was returned for the specified locale and QKB. functionCollection
    404 Not Found No service exists at the requested path. The specified locale is not found in the specified QKB. None

    Get function information

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.quality.function+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.quality.function+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.quality.function+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}

    Returns function information for a specified locale, QKB, and execution environment.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB in the specified execution environment.
    localeName path string true Specifies the name of the locale that is supported by the specified QKB.
    functionName path string true Specifies the name of the function that is supported by the locale and QKB.
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "version": 1,
      "name": "Match",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match",
          "type": "application/vnd.sas.data.quality.function"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.function"
        },
        {
          "method": "GET",
          "rel": "definitions",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.definition"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Function information was returned for the specified locale and QKB. function
    404 Not Found No service exists at the requested path. The specified QKB, locale, or function does not exist in the specified execution environment. None

    Get header information and verify that a function is available for a given locale

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}', params={
    
    )
    
    print r.json()
    
    

    HEAD /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}

    Returns header information and verifies that a function is available for a given locale, QKB, and context.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB in the specified execution environment.
    localeName path string true Specifies the name of the locale that is supported by the specified QKB.
    functionName path string true Specifies the name of the function that is supported by the specified QKB and locale.
    sessionId query string false Specifies the session identifier.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The function exists and is supported by the specified QKB and locale. None
    404 Not Found No service exists at the requested path. The function does not exist in the specified context. None

    Get a list of data quality definitions

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions

    Returns a list of data quality definitions that are supported by a specified locale and QKB.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB that is available in the specified execution environment.
    localeName path string true Specifies the name of the locale that is supported by the specified QKB.
    functionName path string true Specifies the name of the data quality definition that is supported by the specified QKB and locale.
    start query integer false Specifies a 0-based index of the first definition to return. Defaults to 0.
    limit query integer false Specifies a maximum number of definitions to return in a single page of results. The actual number of returned definitions can be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Specifies filter criteria for the returned definitions.
    Filtering is supported on the name field. The supported functions are and, or, not, in, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries
    • Filter by name starting with 'A': /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions/Match/definitions?filter=startsWith(name, 'A')
    • Filter by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions/Match/definitions?filter=eq(name, 'Account Number')
    • Search for multiple definitions /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions/Match/definitions?filter=in(name, 'Account Number', 'Address', 'Business Title')
    sortBy query string(sort-criteria) false Specifies sort criteria for the returned definitions.
    Sorting is supported on the name field. The default sort order is ascending on the name field. Some sample sorts
    • Sort ascending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions/Match/definitions?sortBy=id:ascending
    • Sort descending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions/Match/definitions?sortBy=name:descending
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.definition"
        },
        {
          "method": "GET",
          "rel": "next",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions?sortBy=name&start=2&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions?sortBy=name&start=2&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.definition"
        },
        {
          "method": "GET",
          "rel": "last",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions?sortBy=name&start=24&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions?sortBy=name&start=24&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.definition"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions?sortBy=name&start=0&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions?sortBy=name&start=0&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.definition"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/",
          "type": "application/vnd.sas.data.quality.function"
        }
      ],
      "name": "definitions",
      "accept": "application/vnd.sas.data.quality.definition",
      "items": [
        {
          "version": 1,
          "name": "Account Number",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Account%20Number",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Account%20Number",
              "type": "application/vnd.sas.data.quality.definition"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.definition"
            },
            {
              "method": "GET",
              "rel": "tokens",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Account%20Number/tokens",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Account%20Number/tokens",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.token"
            }
          ]
        },
        {
          "version": 1,
          "name": "Address",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address",
              "type": "application/vnd.sas.data.quality.definition"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.definition"
            },
            {
              "method": "GET",
              "rel": "tokens",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.token"
            }
          ]
        }
      ],
      "version": 2
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Data quality definitions were returned for the specified QKB and locale. definitionCollection
    404 Not Found No service exists at the requested path. The definition, locale, or QKB does not exist in the specified context. None

    Get definition information

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.quality.definition+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.quality.definition+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.quality.definition+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}

    Returns definition information for a given QKB, locale, and function.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB in the specified execution environment.
    localeName path string true Specifies the name of the locale that is supported by the specified QKB.
    definitionName path string true Specifies the name of the definition that is supported by the specified QKB and locale.
    functionName path string true Specifies the name of the function that is supported by the specified QKB and locale.
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "version": 1,
      "name": "Address",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address",
          "type": "application/vnd.sas.data.quality.definition"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.definition"
        },
        {
          "method": "GET",
          "rel": "tokens",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.token"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Information was returned for the specified data quality definition. definition
    404 Not Found No service exists at the requested path. The specified data quality definition does not exist in the specified context. None

    Get header information and verify that a definition exists

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}', params={
    
    )
    
    print r.json()
    
    

    HEAD /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}

    Returns header information and verifies that a definition exists in a given QKB and locale.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB on the specified execution environment.
    localeName path string true Specifies the name of the locale that is supported by the specified QKB.
    functionName path string true Specifies the name of the function that is supported by the specified QKB and locale.
    definitionName path string true Specifies the name of the definition that is supported by the specified function, QKB, and locale.
    sessionId query string false Specifies the session identifier.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The data quality definition exists in the specified context. None
    404 Not Found No service exists at the requested path. The data quality definition does not exist in the specified context. None

    Get a token list from a QKB

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens

    Returns a list of tokens for a specified data quality function, definition. QKB, and locale.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB in the specified execution environment.
    localeName path string true Specifies the name of the locale that is supported by the specified QKB.
    functionName path string true Specifies the name of the function that is supported by the specified QKB and locale.
    definitionName path string true Specifies the name of the definition that is supported by the specified QKB and locale.
    start query integer false Specifies a 0-based index of the first locale to return. Defaults to 0.
    limit query integer false Specifies the maximum number of tokens to return in a single page of results. The actual number of returned tokens can be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Specifies filter criteria for the returned tokens.
    Filtering is supported on the name field. The supported functions are and, or, not, in, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries
    • Filter by name starting with 'A': /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions/Match/definitions/Address/tokens?filter=startsWith(name, 'A')
    • Filter by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/ENUSA/functions/Match/definitions/Address/tokens?filter=eq(name, 'Extension')
    • Filter for multiple tokens /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales?filter=in(id, 'locale1', 'locale2', 'locale3')
    sortBy query string(sort-criteria) false Specifies sort criteria for the returned tokens.
    The only valid sorting option is the name field. The default sort order is ascending on the name field. Some sample sorts
    • Sort ascending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/tokens?sortBy=name:ascending
    • Sort descending by name /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/tokens?sortBy=name:descending
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.token"
        },
        {
          "method": "GET",
          "rel": "next",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens?sortBy=name&start=2&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens?sortBy=name&start=2&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.token"
        },
        {
          "method": "GET",
          "rel": "last",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens?sortBy=name&start=8&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens?sortBy=name&start=8&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.token"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens?sortBy=name&start=0&limit=2",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens?sortBy=name&start=0&limit=2",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.token"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/",
          "type": "application/vnd.sas.data.quality.definition"
        }
      ],
      "name": "tokens",
      "accept": "application/vnd.sas.data.quality.token",
      "items": [
        {
          "version": 1,
          "name": "Building/Site",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens/Building/Site",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens/Building/Site",
              "type": "application/vnd.sas.data.quality.token"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.token"
            }
          ]
        },
        {
          "version": 1,
          "name": "DD_Only",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens/DD_Only",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens/DD_Only",
              "type": "application/vnd.sas.data.quality.token"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
              "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.quality.token"
            }
          ]
        }
      ],
      "version": 2
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. A list of available tokens was returned for the specified context. tokenCollection
    404 Not Found No service exists at the requested path. No tokens exist in the specified context. None

    Get information about a token

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.quality.token+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.quality.token+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.quality.token+json'
    }
    
    r = requests.get('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}

    Returns information about a token from a specified QKB, locale, function, and definition.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB on the specified execution environment.
    localeName path string true Specifies the name of the locale that is supported by the specified QKB.
    functionName path string true Specifies the name of the function that is supported by the specified locale and QKB.
    definitionName path string true Specifies the name of the data quality definition that is supported by the specified locale and QKB.
    tokenName path string true Specifies the name of the token that is supported by the specified definition, function, locale, and QKB.
    sessionId query string false Specifies the session identifier.

    Example responses

    200

    {
      "version": 1,
      "name": "PO Box",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens/PO%20Box",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens/PO%20Box",
          "type": "application/vnd.sas.data.quality.token"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
          "uri": "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.quality.token"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Token information was returned for the specified context. token
    404 Not Found No service exists at the requested path. Token information does not exist in the specified context. None

    Get header information and verify that a token exists in a given definition

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}', params={
    
    )
    
    print r.json()
    
    

    HEAD /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}

    Returns header information and verifies that a token exists in a specified data quality definition.

    Parameters

    Parameter In Type Required Description
    environmentName path string true Specifies the name of the execution environment.
    contextName path string true Specifies the name of the execution environment.
    qkbName path string true Specifies the name of the QKB in the specified execution environment.
    localeName path string true Specifies the name of the locale that is supported by the specified QKB.
    functionName path string true Specifies the name of the function that is supported by the specified QKB and locale.
    definitionName path string true Specifies the name of the data quality definition that is supported by the specified QKB and locale.
    tokenName path string true Specifies the name of the token for the specified function, definition, locale, and QKB.
    sessionId query string false Specifies the session identifier.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The token exists in the specified context. None
    404 Not Found No service exists at the requested path. The token does not exist in the specified context. None

    Schemas

    api

    Properties

    API

    Name Type Required Description
    links links true Provides zero or more links to related resources and actions.
    version integer(int32) true The version of the media-type that represents this API.

    environment

    Properties

    Environment

    Name Type Required Description
    version integer false Media-type version.
    name string false The unique name of the execution environment.
    links [qkbCollection/properties/links/items] false Links that apply to this execution environment,

    environmentCollection

    Properties

    Environment Collection

    Name Type Required Description
    name string false Provides the name of the collection of environments in the context of the request.
    accept string false Provides a space-separated list of link types for the items in the collection of environments.
    links [qkbCollection/properties/links/items] false Provides paging links that apply to the collection of environments.
    items [environment] false Provides the actual result of the query.
    version integer false Provides the version of the collection schema.

    context

    Properties

    Context

    Name Type Required Description
    version integer false Provides the media-type version of the context.
    name string false Provides the unique name of the context.
    type string false Provides the type of context.
    description string false Provides the description of the context.
    host string false Provides the host name of the context.
    state string false Provides the state of the context. The state is the value from the CAS Management service, along with 'unknown host' for hosts that cannot be resolved.
    links [qkbCollection/properties/links/items] false Provides links that apply to this context.

    contextCollection

    Properties

    Context Collection

    Name Type Required Description
    name string false Provides the name of the collection of contexts in the context of the request.
    accept string false Provides a space-separated list of link types of the items in the collection of contexts.
    links [qkbCollection/properties/links/items] false Provides paging links that apply to the collection of contexts.
    items [context] false Provides the actual result of the query.
    version integer false Provides the version of the collection schema.

    qkb

    Properties

    QKB

    Name Type Required Description
    version string false Provides the version of the QKB.
    name string false Provides the unique name of the QKB. The name must be unique within a given execution environment.
    product string false Provides the product that is associated with the QKB.
    default boolean false Provides a flag that indicates the default QKB in each execution environment.
    creationTimeStamp string(date-time) false Provides the creation timestamp for the QKB.
    context string false Provides the name of the execution environment of the QKB.
    environment string false Provides the name of the execution environment of the QKB.
    links [qkbCollection/properties/links/items] false Provides a list of links that apply to the QKB.

    qkbCollection

    Properties

    QKB Collection

    Name Type Required Description
    name string false The name of the collection "qkbs" in the context of the request.
    accept string false Provides a space-separated list of the link types for the items in the QKB collection.
    links [any] false Provides paging links that apply to the QKB collection.
    » Link object false A link to a related operation or resource.
    »» method string false The HTTP method for the link.
    »» rel string true The relationship of the link to the resource.
    »» uri string false The relative URI for the link.
    »» href string false The URL for the link.
    »» title string false The title for the link.
    »» type string false The media type or link type for the link.
    »» itemType string false If this is a link to a container, itemType is the media type or link type for the items in the container.
    »» responseType string false The media type or link type of the response body for a PUT, POST, or PATCH operation.
    »» responseItemType string false The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    » items [qkb] false Provides the actual result of the query.
    » version integer false Provides the schema version of the QKB collection.

    locale

    Properties

    Locale

    Name Type Required Description
    version integer false Provides the media-type version of the locale.
    name string false Provides the name of the locale. The name is unique within each QKB.
    description string false Provides a short description of the locale.
    links [qkbCollection/properties/links/items] false Provides links that apply to the locale.

    localeCollection

    Properties

    Locale Collection

    Name Type Required Description
    name string false Provides the name of the collection "locales" in the context of the request.
    accept string false Provides a space-separated list of link types for the items in the locale collection.
    links [locale] false Provides the actual result of the query.
    version integer false Provides the schema version of the locale collection.

    function

    Properties

    Function

    Name Type Required Description
    version integer false Provides the media-type version of the function.
    name string false Provides the name of the function. The name is unique within a given locale.
    links [qkbCollection/properties/links/items] false Provides a list of links that apply to this function.

    functionCollection

    Properties

    Function Collection

    Name Type Required Description
    name string false Provides the name of the collection "functions" in the context of the request.
    accept string false Provides a space-separated list of link types for the items in the functions collection.
    links [function] false Provides the actual result of the query.
    version integer false Provides the schema version of the function collection.

    definition

    Properties

    Definition

    Name Type Required Description
    version integer false Provides the media-type version of the definition.
    name string false Provides the unique name of the definition within the locale.
    type string false Provides the type of the definition.
    links [qkbCollection/properties/links/items] false Provides a list of links that apply to the locale.

    definitionCollection

    Properties

    Definition Collection

    Name Type Required Description
    name string false Provides the name of the collection "Definition" in the context of the request.
    accept string false Provides a space-separated list of link types of the items in the definition collection.
    links [definition] false Provides the actual result of the query.
    version integer false Provides the schema version of the definition collection.

    token

    Properties

    Token

    Name Type Required Description
    version integer false Provides the media-type version of the token.
    name string false Provides the name of the token, which is unique within each definition.
    links [qkbCollection/properties/links/items] false Provides a list of links that apply to the token.

    tokenCollection

    Properties

    Token Collection

    Name Type Required Description
    name string false The name of the collection "tokens" in the context of the request.
    accept string false Provides a space-separated list of link types for the items in the token collection.
    links [token] false Provides the actual result of the query.
    version integer false Provides the schema version for the token collection.

    Properties

    Links

    Name Type Required Description
    Links [qkbCollection/properties/links/items] false Provides zero or more links to related resources and actions.

    Usage Notes

    Overview

    The Data Quality API enables clients to reference information about the locales, functions, definitions, and tokens in a Quality Knowledge Base (QKB). Clients use the API to determine which operations are available for a given QKB, and then use other facilities (such as the DATA Step 1 CAS action) to perform transformations. Examples of SAS applications that use the Data Quality API include SAS Visual Data Builder and SAS Data Preparation.

    Session Management

    For operations within an execution context, endpoints accept an optional query parameter named 'sessionId'. Providing a session ID to these endpoints can improve performance dramatically. If a session ID is not provided, the Data Quality API will attempt to create a session, and then attempt to destroy it upon completion of processing. If a session ID is provided, the client is responsible for destroying the session after the completion of processing. Links provided by the Data Quality API will propagate the session ID, with the exception of the self link.

    Collection Behavior

    Methods in the Data Quality API that operate on a collection support the following features:

    Collection URIs

    The following URIs return collections:

    Collection
    /qkbs
    /environments
    /environments/{environmentName}/contexts/
    /environments/{environmentName}/contexts/{contextName}/qkbs
    /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales
    /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions
    /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions
    /environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens

    Terminology

    context

    an available execution environment, such as a CAS server, Server context, various InDB technologies.

    data quality operation

    a result that is returned by a data quality function. Categories of functions support operations such as parsing, matching, casing, and standardization.

    definition

    an algorithm in a Quality Knowledge Base that implements a data quality operation. Each definition applies to one type of text content and one locale. To execute a data quality operation, a function specifies a definition and a column of source data. Definitions are identified by name. Available definitions can be enumerated by the API. The names of definitions can contain characters such as spaces that must be encoded. Definition names are not unique within a QKB, but are unique within a function.

    environment

    a type of execution environment. In SAS Viya 3.3, only CAS is supported.

    function

    a data quality language element that references a definition in a locale in a QKB to complete a data quality operation.

    locale

    in a QKB, a locale provides reference information for a specified language and geographic region. Not all data quality functions are supported in all locales. The result of a data quality operation on the same data can differ based on the specified locale.

    QKB

    a Quality Knowledge Base, which provides reference information for data quality operations. A QKB must be installed before it can be referenced by the DataQuality API.

    token

    an element returned by a definition within a QKB. For example, a parsing function can return tokens such as street, city, and state. Token names can include spaces.

    Resources

    Common Collection Behaviors

    GET operations on collection resources return an application/vnd.sas.collection. The following endpoints return collections in this API:

    Collection Item Type Up-link Type
    /dataQuality/environments application/vnd.sas.data.quality.environment application/vnd.sas.api
    /dataQuality/environments/{environmentName}/contexts application/vnd.sas.data.quality.context application/vnd.sas.data.quality.environment
    /dataQuality/qkbs application/vnd.sas.data.quality.qkb application/vnd.sas.api
    /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs application/vnd.sas.data.quality.qkb application/vnd.sas.data.quality.context
    /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales application/vnd.sas.data.quality.locale application/vnd.sas.data.quality.qkb
    /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions application/vnd.sas.data.quality.function application/vnd.sas.data.quality.locale
    /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions application/vnd.sas.data.quality.definition application/vnd.sas.data.quality.function
    /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens application/vnd.sas.data.quality.token application/vnd.sas.data.quality.definition

    All collections support pagination links and an uplink:

    Relation Description
    self Returns the current page from the collection.
    collection Returns the first page of the collection, without sorting or filtering criteria.
    prev Returns the previous page of resources from the collection. Present if not at the start of the collection.
    next Returns the next page of resources from the collection. Present if not at the end of the collection.
    first Returns the first page of resources from the collection. Present if not at the start of the collection.
    last Returns the last page of resources from the collection. Present if not at the end of the collection.
    up The parent resource.

    Additional links are documented in the collection endpoints where they appear.

    Root

    Path: /

    The root of the API. This resource contains links to the top-level resources in the API. The response uses the application/vnd.sas.api media type.

    The GET / response includes the following links.

    Relation Method Description
    environments GET Returns the collection of environments.
    URI: /dataQuality/environments
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.environment
    qkbs GET Returns the collection of QKBs across all environments.
    URI: /dataQuality/qkbs
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.qkb

    Environments

    Collection endpoint path: /dataQuality/environments

    Retrieves a list of all available execution environments.

    The Environments collection response includes the usual set of pagination and up-links.

    Individual endpoint path: /dataQuality/environments/{environmentName}

    Retrieves environment details. In addition to GET, this path also supports HEAD method.

    The GET /dataQuality/environments/{environmentName} response includes the following links.

    Relation Method Description
    self GET Returns information about particular execution environment.
    URI: /dataQuality/environments/{environmentName}
    Type: application/vnd.sas.data.quality.environment
    up GET Returns the collection of environments.
    URI: /dataQuality/environments
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.environment
    contexts GET Returns a collection of all available contexts for a particular environment type.
    URI: /dataQuality/environments/{environmentName}/contexts
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.context

    Contexts

    Collection endpoint path: /dataQuality/environments/{environmentName}/contexts

    Retrieves a list of all available execution contexts for a particular environment type.

    The contexts collection response includes the usual set of pagination and up-links.

    Individual endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}

    Retrieves context details. In addition to GET, this path also supports HEAD method.

    The GET / includes the following links.

    Relation Method Description
    self GET Returns information about particular execution context.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}
    Type: application/vnd.sas.data.quality.context
    up GET Returns a collection of all available contexts for a particular environment type.
    URI: /dataQuality/environments/{environmentName}/contexts
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.context
    qkbs GET Returns a collection of all available QKBs on a particular context.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.qkb

    QKBs

    All QKBs Collection Endpoint Path: /dataQuality/qkbs

    Retrieves a list of all available QKBs across all available execution contexts.

    The all QKBs collection response includes the usual set of pagination and up-links.

    QKBs Collection Endpoint Path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs

    Retrieves a list of all available qkbs on a particular context.

    The QKBs collection response includes the usual set of pagination and up-links.

    QKBs Individual Endpoint Path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}

    Retrieves QKB information on a context. In addition to GET, this path also supports HEAD and DELETE methods.

    . The GET /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName} includes the following links.

    Relation Method Description
    self GET Returns information about a particular QKB on a particular execution context.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}
    Type: application/vnd.sas.data.quality.qkb or application/vnd.sas.data.quality.qkb
    up GET Returns a collection of all available qkbs on a particular context.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.qkb
    locales GET Returns a collection of locales.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.locale

    Locale

    Collection endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales

    Returns a list of locale in a particular QKB.

    The locale collection response includes the usual set of pagination and up-links.

    Individual endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}

    Returns locale information for a given context and QKB. In addition to GET, this path also supports HEAD method.

    The GET / includes the following links.

    Relation Method Description
    self GET Returns locale information for a given context and QKB.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}
    Type: application/vnd.sas.data.quality.locale
    up GET Returns a list of locale in a particular QKB.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.locale
    functions GET Returns a list of functions in a particular QKB and locale.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.function

    Functions

    Collection endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions

    Returns a list of functions in a particular QKB and locale.

    The functions collection response includes the usual set of pagination and up-links.

    Individual endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}

    Returns a function information for a given QKB, context, and locale. In addition to GET, this path also supports HEAD method.

    The GET / includes the following links.

    Relation Method Description
    self GET Returns function information for a given QKB, context, and locale.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}
    Type: application/vnd.sas.data.quality.function
    up GET Returns a list of functions in a particular QKB and locale.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.function
    definitions GET Returns a list of definitions in a function.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.definition

    Definitions

    Collection endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions

    Returns a list of definitions in a particular function.

    The Definitions collection response includes the usual set of pagination and up-links.

    Individual endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}

    Returns definition information for a given context, QKB, locale, and function. In addition to GET, this path also supports HEAD method.

    The GET / includes the following links.

    Relation Method Description
    self GET Returns definition information for a given context, QKB, locale, and function.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}
    Type: application/vnd.sas.data.quality.definition
    up GET Returns a list of definitions in a particular function.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.definition
    tokens GET Returns a list of tokens in a definition.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.token

    Tokens

    Collection endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens

    Returns a list of tokens in a particular definition.

    The tokens collection response includes the usual set of pagination and up-links.

    Individual endpoint path: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}

    Retrieves a token from a given QKB, locale, and definition. In addition to GET, this path also supports the HEAD method.

    The GET / includes the following links.

    Relation Method Description
    self GET Retrieves a token from a given QKB, locale, and definition.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens/{tokenName}
    Type: application/vnd.sas.data.quality.token
    up GET Returns a list of tokens in a particular definition.
    URI: /dataQuality/environments/{environmentName}/contexts/{contextName}/qkbs/{qkbName}/locales/{localeName}/functions/{functionName}/definitions/{definitionName}/tokens
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.quality.token

    Media Types

    application/vnd.sas.data.quality.environment

    Provides detailed information about an environment.

    This is described by environment.

    Below is an example of the JSON representation of this media type.

    { "version" : 1, "name" : "CAS", "links" : [ { "method" : "GET", "rel" : "self", "href" : "/dataQuality/environments/CAS", "uri" : "/dataQuality/environments/CAS", "type" : "application/vnd.sas.data.quality.environment" }, { "method" : "GET", "rel" : "up", "href" : "/dataQuality/environments", "uri" : "/dataQuality/environments", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.environment" }, { "method" : "GET", "rel" : "contexts", "href" : "/dataQuality/environments/CAS/contexts", "uri" : "/dataQuality/environments/CAS/contexts", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.context" } ] }

    application/vnd.sas.data.quality.context

    Provides detailed information about a context.

    This is described by context.

    Below is an example of the JSON representation of this media type.

    { "version" : 1, "name" : "casqkb", "type" : "CAS", "description" : "controller", "host" : "example.com", "state" : "running", "links" : [ { "method" : "GET", "rel" : "self", "href" : "/dataQuality/environments/CAS/contexts/casqkb", "uri" : "/dataQuality/environments/CAS/contexts/casqkb", "type" : "application/vnd.sas.data.quality.context" }, { "method" : "GET", "rel" : "up", "href" : "/dataQuality/environments/CAS/contexts", "uri" : "/dataQuality/environments/CAS/contexts", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.context" }, { "method" : "GET", "rel" : "qkbs", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.qkb" } ] }

    application/vnd.sas.data.quality.qkb

    Provides information about a qkb.

    This is described by qkb.

    Below is an example of the JSON representation of this media type.

    { "version" : 1, "name" : "QKB_USPOCH", "product" : "CI", "productVersion" : "v27", "isDefault" : false, "creationTimeStamp" : "2017-01-06T14:59:27.000Z", "context" : "casqkb", "environment" : "CAS", "links" : [ { "method" : "GET", "rel" : "self", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH", "type" : "application/vnd.sas.data.quality.qkb" }, { "method" : "GET", "rel" : "up", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.qkb" }, { "method" : "GET", "rel" : "locales", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.locale" } ] }

    application/vnd.sas.data.quality.locale

    Provides detailed information about a locale.

    This is described by locale.

    Below is an example of the JSON representation of this media type.

    { "version" : 1, "name" : "ENUSA", "description" : "English (United States)", "links" : [ { "method" : "GET", "rel" : "self", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA", "type" : "application/vnd.sas.data.quality.locale" }, { "method" : "GET", "rel" : "up", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.locale" }, { "method" : "GET", "rel" : "functions", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.function" } ] }

    application/vnd.sas.data.quality.function

    Provides information about a function.

    This is described by function.

    Below is an example of the JSON representation of this media type.

    { "version" : 1, "name" : "Match", "links" : [ { "method" : "GET", "rel" : "self", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match", "type" : "application/vnd.sas.data.quality.function" }, { "method" : "GET", "rel" : "up", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.function" }, { "method" : "GET", "rel" : "definitions", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.definition" } ] }

    application/vnd.sas.data.quality.definition

    Provides information about a definition.

    This is described by definition.

    Below is an example of the JSON representation of this media type.

    { "version" : 1, "name" : "Address", "links" : [ { "method" : "GET", "rel" : "self", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address", "type" : "application/vnd.sas.data.quality.definition" }, { "method" : "GET", "rel" : "up", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.definition" }, { "method" : "GET", "rel" : "tokens", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.token" } ] }

    application/vnd.sas.data.quality.token

    Provides information about a token.

    This is described by token.

    Below is an example of the JSON representation of this media type.

    { "version" : 1, "name" : "PO Box", "links" : [ { "method" : "GET", "rel" : "self", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens/PO%20Box", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens/PO%20Box", "type" : "application/vnd.sas.data.quality.token" }, { "method" : "GET", "rel" : "up", "href" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens", "uri" : "/dataQuality/environments/CAS/contexts/casqkb/qkbs/QKB_USPOCH/locales/ENUSA/functions/Match/definitions/Address/tokens", "type" : "application/vnd.sas.collection", "itemType" : "application/vnd.sas.data.quality.token" } ] }

    Error Codes

    This API uses the standard error response type, application/vnd.sas.error, to propagate all error messages and codes to the consumer. There are no error codes that are unique to this API.

    Data Sources

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    The Data Sources API works in concert with the Data Tables and Row Sets APIs to navigate, reference, and retrieve data in the SAS Viya ecosystem. The Data Sources API enables retrieval of metadata for data sources and linking to their respective tables.

    Base URLs:

    Get a list of providers

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Item: application/vnd.sas.data.provider.summary+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Item':'application/vnd.sas.data.provider.summary+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json',
      'Accept-Item': 'application/vnd.sas.data.provider.summary+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers

    Returns a collection of application/vnd.sas.data.provider.summary resources. Standard paging, filtering, and sorting options are specified in the Parameters section below.

    Parameters

    Parameter In Type Required Description
    Accept-Item header string false The desired provider representation.
    The Accept-Item options are:
    • application/vnd.sas.data.provider.summary+json
    • application/vnd.sas.data.provider+json
    • blank

    If the application/vnd.sas.data.provider.summary type is specified or no Accept-Item header is present, the providers are returned as the summary representation provider objects. In this case, the provider contains the following properties: id, version, and links.
    start query integer false 0-based index of first provider to return. Defaults to 0.
    limit query integer false Maximum number of providers to return in this page of results. The actual number of returned providers can be fewer if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Filter criteria for returned providers. The only valid filter field is id. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith and isNull. Some sample queries :
    • Search by id starting with: /dataSources/providers?filter=startsWith(id, 'prov')
    • Search by id: /dataSources/providers?filter=eq(id, 'provider1')
    • Search for multiple providers: /dataSources/providers?filter=in(id, 'provider1', 'provider2', 'provider3')
    sortBy query string(sort-criteria) false Sort returned providers.
    The only valid sorting option is the id field. The default sort order is ascending on the id field. Some sample sorts include the following:
    • Sort ascending by id: /dataSources/providers?sortBy=id:ascending
    • Sort descending by id: /dataSources/providers?sortBy=id:descending

    Enumerated Values

    Parameter Value
    Accept-Item application/vnd.sas.data.provider.summary+json
    Accept-Item application/vnd.sas.data.provider+json

    Example responses

    200

    {
      "name": "providers",
      "accept": "application/vnd.sas.data.provider.summary application/vnd.sas.data.provider",
      "start": 0,
      "count": 1,
      "items": [
        {
          "id": "cas",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataSources/providers/cas",
              "uri": "/dataSources/providers/cas",
              "type": "application/vnd.sas.data.provider"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataSources/providers/cas",
              "uri": "/dataSources/providers/cas",
              "type": "application/vnd.sas.data.provider.summary"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataSources/providers",
              "uri": "/dataSources/providers",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.provider"
            },
            {
              "method": "GET",
              "rel": "dataSources",
              "href": "/dataSources/providers/cas/sources",
              "uri": "/dataSources/providers/cas/sources",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.source"
            }
          ],
          "version": 1
        }
      ],
      "limit": 10,
      "version": 2,
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataSources/providers",
          "uri": "/dataSources/providers",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers?start=0&limit=10",
          "uri": "/dataSources/providers?start=0&limit=10",
          "type": "application/vnd.sas.collection"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Any providers are returned in a resource collection. providerSummaryCollection
    400 Bad Request The request was invalid. Invalid requests occur in the following scenarios:
    • A negative start value is provided.
    • A negative limit value is provided.
    • An unsupported field is specified in the sortBy parameter.
    error2

    Gets the provider

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.provider+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.provider+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.provider+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}

    Returns information about a single provider based on its unique ID.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.

    Example responses

    200

    {
      "id": "cas",
      "apiVersion": 2,
      "usesSessions": true,
      "sourceDefinitionsSupport": "none",
      "version": 2,
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/cas",
          "uri": "/dataSources/providers/cas",
          "type": "application/vnd.sas.data.provider"
        },
        {
          "method": "GET",
          "rel": "alternate",
          "href": "/dataSources/providers/cas",
          "uri": "/dataSources/providers/cas",
          "type": "application/vnd.sas.data.provider.summary"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers",
          "uri": "/dataSources/providers",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.provider.summary"
        },
        {
          "method": "GET",
          "rel": "dataSources",
          "href": "/dataSources/providers/cas/sources",
          "uri": "/dataSources/providers/cas/sources",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. provider
    404 Not Found No provider exists at the requested path. error2

    Check provider availability

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataSources/providers/{providerId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.provider+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.provider+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.provider+json'
    }
    
    r = requests.head('https://www.example.com/dataSources/providers/{providerId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /providers/{providerId}

    Returns the headers that the corresponding GET returns. Clients use this to determine whether a provider exists.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.

    Example responses

    200

    ""
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. emptyResponse
    404 Not Found No provider exists at the requested path. None

    Get a list of data sources

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sources \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Item: application/vnd.sas.data.source+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Item':'application/vnd.sas.data.source+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json',
      'Accept-Item': 'application/vnd.sas.data.source+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sources', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sources

    Returns a collection of sources. Standard paging, filtering, and sorting options are provided. The members of this collection use application/vnd.sas.data.source media type representation.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    Accept-Item header string false The desired data source representation. The Accept-Item options are:
    • application/vnd.sas.data.source+json
    • application/vnd.sas.data.source.summary+json
    • blank

    If the application/vnd.sas.data.source+json type is specified or no Accept-Item header is present, the data sources are returned as full representation source objects.
    start query integer false The starting index of the first source in a page. Defaults to 0.
    limit query integer false Maximum number of sources to return in this page of results. The actual number of returned sources can be fewer if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Filter criteria for returned sources. The valid filter fields are name and type if supported by the provider. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith and isNull. Sample queries include the following:
    • Search by name starting with: /dataSources/providers/{providerId}/sources?filter=startsWith(name, 'sour')
    • Search by name: /dataSources/providers/{providerId}/sources?filter=eq(name, 'source1')
    • Search for multiple sources: /dataSources/providers/{providerId}/sources?filter=in(name, 'source1', 'source2', 'source3')
    sortBy query string(sort-criteria) false Sort returned sources. The sort criteria supports the following fields in either ascending or descending order (name, type, createdBy, modifiedBy, creationTimeStamp and modifiedTimeStamp). Sample sorts include the following:
    • Sort ascending by source name: /dataSources/providers/{providerId}/sources?sortBy=name:ascending
    • Sort descending by table name: /dataSources/providers/{providerId}/sources?sortBy=name:descending

    The default sort is by name in ascending order.

    Enumerated Values

    Parameter Value
    Accept-Item application/vnd.sas.data.source+json
    Accept-Item application/vnd.sas.data.source.summary+json

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataSources/providers/cas/sources",
          "uri": "/dataSources/providers/cas/sources",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/cas/sources?start=0&limit=10",
          "uri": "/dataSources/providers/cas/sources?start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers/cas",
          "uri": "/dataSources/providers/cas",
          "type": "application/vnd.sas.data.provider"
        }
      ],
      "name": "sources",
      "accept": "application/vnd.sas.data.source",
      "count": 1,
      "items": [
        {
          "id": "cas",
          "name": "cas",
          "type": "casServer",
          "providerId": "cas",
          "description": "controller",
          "hasTables": true,
          "hasEngines": false,
          "attributes": {
            "port": 8850,
            "host": "server.example.com"
          },
          "version": 1,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataSources/providers/cas/sources/cas",
              "uri": "/dataSources/providers/cas/sources/cas",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataSources/providers/cas/sources/cas",
              "uri": "/dataSources/providers/cas/sources/cas",
              "type": "application/vnd.sas.data.source.summary"
            },
            {
              "method": "GET",
              "rel": "status",
              "href": "/casManagement/servers/cas/status",
              "uri": "/casManagement/servers/cas/status",
              "responseType": "application/json"
            },
            {
              "method": "GET",
              "rel": "tables",
              "href": "/dataTables/dataSources/cas~fs~cas/tables",
              "uri": "/dataTables/dataSources/cas~fs~cas/tables",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.table"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataSources/providers/cas/sources",
              "uri": "/dataSources/providers/cas/sources",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "children",
              "href": "/dataSources/providers/cas/sources/cas/children",
              "uri": "/dataSources/providers/cas/sources/cas/children",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.source"
            }
          ]
        }
      ],
      "version": 2
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. sourceCollection
    400 Bad Request The request was invalid. Invalid requests occur in the following scenarios:
    • A negative start value is provided.
    • A negative limit value is provided.
    • An unsupported field is specified in the sortBy parameter.
    • An unsupported field is specified in the filter parameter.
    • An invalid filter parameter is provided.
    error2
    404 Not Found No provider exists at the requested path. error2
    501 Not Implemented One of the following query parameters is not supported by the provider service (parameter - errorCode):
    • sortBy - 11901
    • filter - 11902
    error2

    Get a data source

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.source+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.source+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.source+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sources/{sourceId}

    Returns information about a single source based on its unique ID.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the source.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this identifier is not specified, the data service provider creates a temporary session and then destroys it after the request is complete. If this is specified all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This only has effect when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided and the session created by the data service provider is not be destroyed. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false or not specified, the session is destroyed after the request is complete. Defaults to false.

    Example responses

    200

    {
      "id": "cas",
      "name": "cas",
      "type": "casServer",
      "providerId": "cas",
      "description": "controller",
      "hasTables": true,
      "hasEngines": false,
      "attributes": {
        "port": 8850,
        "host": "server.example.com"
      },
      "version": 1,
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/cas/sources/cas",
          "uri": "/dataSources/providers/cas/sources/cas",
          "type": "application/vnd.sas.data.source"
        },
        {
          "method": "GET",
          "rel": "alternate",
          "href": "/dataSources/providers/cas/sources/cas",
          "uri": "/dataSources/providers/cas/sources/cas",
          "type": "application/vnd.sas.data.source.summary"
        },
        {
          "method": "GET",
          "rel": "status",
          "href": "/casManagement/servers/cas/status",
          "uri": "/casManagement/servers/cas/status",
          "responseType": "application/json"
        },
        {
          "method": "GET",
          "rel": "tables",
          "href": "/dataTables/dataSources/cas~fs~cas/tables",
          "uri": "/dataTables/dataSources/cas~fs~cas/tables",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.table"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers/cas/sources",
          "uri": "/dataSources/providers/cas/sources",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source"
        },
        {
          "method": "GET",
          "rel": "children",
          "href": "/dataSources/providers/cas/sources/cas/children",
          "uri": "/dataSources/providers/cas/sources/cas/children",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. source
    404 Not Found No provider or data source definition exists at the requested path. error2

    Check data source availability

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': '*/*'
    }
    
    r = requests.head('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /providers/{providerId}/sources/{sourceId}

    Returns the headers that the corresponding GET returns. Clients use this to determine whether the data source exists.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the data source.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session and then destroys it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This has no effect when specified for a HEAD request due to the inability to return the session as a link. This only has effect when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided and the session created by the data service provider are not destroyed. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false or not specified, the session is destroyed after the request is complete. Defaults to false.

    Example responses

    200

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The source exists. emptyResponse
    404 Not Found No provider or data source exists at the requested path. None

    Get a list of child data sources

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/children \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Item: application/vnd.sas.data.source+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Item':'application/vnd.sas.data.source+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/children',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json',
      'Accept-Item': 'application/vnd.sas.data.source+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/children', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sources/{sourceId}/children

    Returns a collection of sources that are children of the specified source. Standard paging, filtering, and sorting options are provided. The members of this collection use application/vnd.sas.data.source media type representation.

    Parameters

    Parameter In Type Required Description
    Accept-Item header string false The desired data source representation. The Accept-Item options are:
    • application/vnd.sas.data.source+json
    • application/vnd.sas.data.source.summary+json
    • blank

    If the application/vnd.sas.data.column+json type is specified or no Accept-Item header is present, the data sources are returned as full representation column objects.
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the data source.
    start query integer false The starting index of the first source in a page. Defaults to 0.
    limit query integer false Maximum number of sources to return in this page of results. The actual number of returned sources might be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Filter criteria for returned sources.
    The valid filter fields are name and type if supported by the provider. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith and isNull. Sample queries include the following:
    • Search by name starting with: /dataSources/providers/{providerId}/sources/{sourceId}/children?filter=startsWith(name, 'sour')
    • Search by name: /dataSources/providers/{providerId}/sources/{sourceId}/children?filter=eq(name, 'source1')
    • Search for multiple tables: /dataSources/providers/{providerId}/sources/{sourceId}/children?filter=in(name, 'source1', 'source2', 'source3')
    sortBy query string(sort-criteria) false Sort returned sources. The sort criteria supports the following fields in either ascending or descending order (name, type, createdBy, modifiedBy, creationTimeStamp, and modifiedTimeStamp). Sample sorts include the following:
    • Sort ascending by source name: /dataSources/providers/{providerId}/sources/{sourceId}/children?sortBy=name:ascending
    • Sort descending by table name: /dataSources/providers/{providerId}/sources/{sourceId}/children?sortBy=name:descending

    The default sort is by name in ascending order.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified the data service provider creates a temporary session and then destroys it after the request is complete. If this is specified all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This only has effect when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided and the session created by the data service provider is not be destroyed. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false or not specified, the session is destroyed after the request is complete. Defaults to false.

    Enumerated Values

    Parameter Value
    Accept-Item application/vnd.sas.data.source+json
    Accept-Item application/vnd.sas.data.source.summary+json

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataSources/providers/cas/sources/cas/children",
          "uri": "/dataSources/providers/cas/sources/cas/children",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/cas/sources/cas/children?start=0&limit=10",
          "uri": "/dataSources/providers/cas/sources/cas/children?start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers/cas/sources/cas",
          "uri": "/dataSources/providers/cas/sources/cas",
          "type": "application/vnd.sas.data.source"
        }
      ],
      "name": "sources",
      "accept": "application/vnd.sas.data.source application/vnd.sas.data.source.summary",
      "items": [
        {
          "id": "CASTestTmp",
          "name": "CASTestTmp",
          "type": "caslib",
          "providerId": "cas",
          "description": "castest's test files",
          "hasTables": true,
          "hasEngines": false,
          "attributes": {
            "active": false,
            "personal": false,
            "subDirs": true
          },
          "version": 1,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp",
              "uri": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp",
              "uri": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp",
              "type": "application/vnd.sas.data.source.summary"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataSources/providers/cas/sources/cas/children",
              "uri": "/dataSources/providers/cas/sources/cas/children",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "parent",
              "href": "/dataSources/providers/cas/sources/cas",
              "uri": "/dataSources/providers/cas/sources/cas",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "tables",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.table"
            }
          ]
        },
        {
          "id": "EngTest",
          "name": "EngTest",
          "type": "caslib",
          "providerId": "cas",
          "description": "engtest's HDAT files.",
          "hasTables": true,
          "attributes": {
            "active": false,
            "personal": false,
            "subDirs": true
          },
          "version": 1,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataSources/providers/cas/sources/cas~fs~EngTest",
              "uri": "/dataSources/providers/cas/sources/cas~fs~EngTest",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataSources/providers/cas/sources/cas~fs~EngTest",
              "uri": "/dataSources/providers/cas/sources/cas~fs~EngTest",
              "type": "application/vnd.sas.data.source.summary"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataSources/providers/cas/sources/cas/children",
              "uri": "/dataSources/providers/cas/sources/cas/children",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "parent",
              "href": "/dataSources/providers/cas/sources/cas",
              "uri": "/dataSources/providers/cas/sources/cas",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "tables",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~EngTest/tables",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~EngTest/tables",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.table"
            }
          ]
        },
        {
          "id": "Formats",
          "name": "Formats",
          "type": "caslib",
          "providerId": "cas",
          "description": "Format Caslib",
          "hasTables": true,
          "hasEngines": false,
          "attributes": {
            "active": false,
            "personal": false,
            "subDirs": true
          },
          "version": 1,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataSources/providers/cas/sources/cas~fs~Formats",
              "uri": "/dataSources/providers/cas/sources/cas~fs~Formats",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataSources/providers/cas/sources/cas~fs~Formats",
              "uri": "/dataSources/providers/cas/sources/cas~fs~Formats",
              "type": "application/vnd.sas.data.source.summary"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataSources/providers/cas/sources/cas/children",
              "uri": "/dataSources/providers/cas/sources/cas/children",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "parent",
              "href": "/dataSources/providers/cas/sources/cas",
              "uri": "/dataSources/providers/cas/sources/cas",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "tables",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~Formats/tables",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~Formats/tables",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.table"
            }
          ]
        },
        {
          "id": "HPS",
          "name": "HPS",
          "type": "caslib",
          "providerId": "cas",
          "description": "HDAT files on /hps",
          "hasTables": true,
          "hasEngines": false,
          "attributes": {
            "active": false,
            "personal": false,
            "subDirs": true
          },
          "version": 1,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataSources/providers/cas/sources/cas~fs~HPS",
              "uri": "/dataSources/providers/cas/sources/cas~fs~HPS",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataSources/providers/cas/sources/cas~fs~HPS",
              "uri": "/dataSources/providers/cas/sources/cas~fs~HPS",
              "type": "application/vnd.sas.data.source.summary"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataSources/providers/cas/sources/cas/children",
              "uri": "/dataSources/providers/cas/sources/cas/children",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "parent",
              "href": "/dataSources/providers/cas/sources/cas",
              "uri": "/dataSources/providers/cas/sources/cas",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "tables",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~HPS/tables",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~HPS/tables",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.table"
            }
          ]
        }
      ],
      "version": 2
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. sourceChildrenCollection
    400 Bad Request The request was invalid. An invalid filter or combination of request parameters was provided. error2
    404 Not Found No provider or data source exists at the requested path. error2
    501 Not Implemented One of the following query parameters is not supported (parameter - errorCode):
    • sortBy - 11901
    • filter - 11902
    error2

    Get a list of data source definitions

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sourceDefinitions

    Returns a collection of application/vnd.sas.source.definition resources. Standard paging, filtering and sorting options are specified in the Parameters section below.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    start query integer false The starting index of the first source definition in a page. Defaults to 0.
    limit query integer false Maximum number of source definitions to return in this page of results. The actual number of returned sources can be fewer if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Filter criteria for returned data source definitions. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith and isNull. Some sample queries include the following:
    • Search by name starting with: /dataSources/providers/{providerId}/sourceDefinitions?filter=startsWith(name, 'sour')
    • Search by name: /dataSources/providers/{providerId}/sourceDefinitions?filter=eq(name, 'source1')
    • Search for multiple source definitions: /dataSources/providers/{providerId}/sourceDefinitions?filter=in(name, 'source1', 'source2', 'source3')
    sortBy query string(sort-criteria) false Sort returned data source definitions. The sort criteria supports the following fields in either ascending or descending order (name, type, createdBy, modifiedBy, creationTimeStamp and modifiedTimeStamp). Some sample sorts include the following:
    • Sort ascending by name: /dataSources/providers/{providerId}/sourceDefinitions?sortBy=name:ascending
    • Sort descending by name: /dataSources/providers/{providerId}/sourceDefinitions?sortBy=name:descending

    The default sort is by name in ascending order.

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataSources/providers/myProvider/sourceDefinitions",
          "uri": "/dataSources/providers/myProvider/sourceDefinitions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/myProvider/sourceDefinitions?sortBy=name:ascending&start=0&limit=10",
          "uri": "/dataSources/providers/myProvider/sourceDefinitions?sortBy=name:ascending&start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers/myProvider",
          "uri": "/dataSources/providers/myProvider",
          "type": "application/vnd.sas.data.provider"
        },
        {
          "method": "POST",
          "rel": "createSourceDefinition",
          "href": "/dataSources/providers/myProvider/sourceDefinitions",
          "uri": "/dataSources/providers/myProvider/sourceDefinitions",
          "type": "application/vnd.sas.data.source.definition"
        }
      ],
      "name": "sourceDefinitions",
      "accept": "application/vnd.sas.data.source.definition",
      "start": 0,
      "count": 1,
      "items": [
        {
          "creationTimeStamp": "2017-04-12T13:39:09.424Z",
          "modifiedTimeStamp": "2017-04-12T13:39:09.424Z",
          "createdBy": "bob",
          "modifiedBy": "bob",
          "id": "84df1ec8-8f06-46c9-bcd7-e38e3d96aef3",
          "name": "sourceDefName1",
          "providerId": "Compute",
          "description": "my",
          "dataSourceId": "myComputeContext",
          "attributes": {
            "key1": "value1",
            "key2": "value2",
            "key3": "value3",
            "key4": "value4",
            "key5": "value5",
            "key6": "value6",
            "key7": "value7",
            "key8": "value8",
            "key9": "value9",
            "key10": "value10"
          },
          "version": 1,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataSources/providers/Compute/sourceDefinitions/84df1ec8-8f06-46c9-bcd7-e38e3d96aef3",
              "uri": "/dataSources/providers/Compute/sourceDefinitions/84df1ec8-8f06-46c9-bcd7-e38e3d96aef3",
              "type": "application/vnd.sas.data.source.definition"
            },
            {
              "method": "PUT",
              "rel": "update",
              "href": "/dataSources/providers/Compute/sourceDefinitions/84df1ec8-8f06-46c9-bcd7-e38e3d96aef3",
              "uri": "/dataSources/providers/Compute/sourceDefinitions/84df1ec8-8f06-46c9-bcd7-e38e3d96aef3",
              "type": "application/vnd.sas.data.source.definition"
            },
            {
              "method": "DELETE",
              "rel": "delete",
              "href": "/dataSources/providers/Compute/sourceDefinitions/84df1ec8-8f06-46c9-bcd7-e38e3d96aef3",
              "uri": "/dataSources/providers/Compute/sourceDefinitions/84df1ec8-8f06-46c9-bcd7-e38e3d96aef3"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataSources/providers/Compute/sourceDefinitions",
              "uri": "/dataSources/providers/Compute/sourceDefinitions",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.source.definition"
            },
            {
              "method": "GET",
              "rel": "provider",
              "href": "/dataSources/providers/Compute",
              "uri": "/dataSources/providers/Compute",
              "type": "application/vnd.sas.data.provider"
            }
          ]
        }
      ],
      "limit": 10,
      "version": 2
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Any data source definitions are returned in a resource collection. sourceDefinitionCollection
    400 Bad Request The request was invalid. Invalid requests occur in the following scenarios:
    • A negative start value is provided.
    • A negative limit value is provided.
    • An unsupported field is specified in the sortBy parameter.
    error2
    404 Not Found No provider exists at the requested path. error2

    Create a data source definition

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions \
      -H 'Content-Type: application/vnd.sas.data.source.definition+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.source.definition+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.data.source.definition+json',
      'Accept':'application/vnd.sas.data.source.definition+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Content-Type': 'application/vnd.sas.data.source.definition+json',
      'Accept': 'application/vnd.sas.data.source.definition+json'
    }
    
    r = requests.post('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    POST /providers/{providerId}/sourceDefinitions

    Creates a date source definition from the provided request.

    Body parameter

    {
      "providerId": "string",
      "name": "string",
      "description": "string",
      "dataSourceId": "string",
      "attributes": {
        "property1": {},
        "property2": {}
      },
      "version": 0
    }
    

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    body body createSourceDefinition true Source definition to create. The only fields honored are name, label, domain, and description. Other fields are ignored.

    Example responses

    201

    {
      "creationTimeStamp": "2017-04-12T13:29:14.212Z",
      "modifiedTimeStamp": "2017-04-12T13:29:14.212Z",
      "createdBy": "bob",
      "modifiedBy": "bob",
      "id": "ea1a9f8a-5013-4c89-8298-78c95659782e",
      "name": "sourceDefName1",
      "providerId": "Compute",
      "description": "my description",
      "dataSourceId": "myComputeContext",
      "attributes": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3",
        "key4": "value4",
        "key5": "value5",
        "key6": "value6",
        "key7": "value7",
        "key8": "value8",
        "key9": "value9",
        "key10": "value10"
      },
      "version": 1,
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "type": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "type": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers/Compute/sourceDefinitions",
          "uri": "/dataSources/providers/Compute/sourceDefinitions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "GET",
          "rel": "provider",
          "href": "/dataSources/providers/Compute",
          "uri": "/dataSources/providers/Compute",
          "type": "application/vnd.sas.data.provider"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    201 Created A source definition was created. sourceDefinition
    400 Bad Request The request was invalid. error2
    404 Not Found No provider exists at the requested path. error2
    Response Headers
    Status Header Type Format Description
    201 Location string The URI of the newly created source definition.
    201 Last-Modified string The ISO8601 date string representing the timestamp of the last update to this object.
    201 ETag string A tag that identifies this revision of this object.

    Get a data source definition

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.source.definition+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.source.definition+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.source.definition+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sourceDefinitions/{sourceDefinitionId}

    Returns information about a single source based on its unique ID.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceDefinitionId path string true The ID for the source definition.

    Example responses

    200

    {
      "creationTimeStamp": "2017-04-12T13:29:14.212Z",
      "modifiedTimeStamp": "2017-04-12T13:29:14.212Z",
      "createdBy": "bob",
      "modifiedBy": "bob",
      "id": "ea1a9f8a-5013-4c89-8298-78c95659782e",
      "name": "sourceDefName1",
      "providerId": "Compute",
      "description": "my description",
      "dataSourceId": "myComputeContext",
      "attributes": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3",
        "key4": "value4",
        "key5": "value5",
        "key6": "value6",
        "key7": "value7",
        "key8": "value8",
        "key9": "value9",
        "key10": "value10"
      },
      "version": 1,
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "type": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "type": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers/Compute/sourceDefinitions",
          "uri": "/dataSources/providers/Compute/sourceDefinitions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "GET",
          "rel": "provider",
          "href": "/dataSources/providers/Compute",
          "uri": "/dataSources/providers/Compute",
          "type": "application/vnd.sas.data.provider"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. sourceDefinition
    404 Not Found No provider or data source definition exists at the requested path. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string The entity tag for the source definition.
    200 Last-Modified string The time stamp in EEE, dd MMM yyyy HH:mm:ss GMT format when the source definition was last modified.

    Check data source definition availability

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': '*/*'
    }
    
    r = requests.head('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /providers/{providerId}/sourceDefinitions/{sourceDefinitionId}

    Returns the headers that the corresponding GET returns. Clients use this to determine whether the data source exists.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceDefinitionId path string true The ID for the source definition.

    Example responses

    200

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. emptyResponse
    404 Not Found No provider or data source definition exists at the requested path. None
    Response Headers
    Status Header Type Format Description
    200 ETag string The entity tag for the source definition.
    200 Last-Modified string The time stamp in EEE, dd MMM yyyy HH:mm:ss GMT format when the source definition was last modified.

    Update a data source definition

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId} \
      -H 'Content-Type: application/vnd.sas.data.source.definition+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.source.definition+json' \
      -H 'If-Match: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.data.source.definition+json',
      'Accept':'application/vnd.sas.data.source.definition+json',
      'If-Match':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Content-Type': 'application/vnd.sas.data.source.definition+json',
      'Accept': 'application/vnd.sas.data.source.definition+json',
      'If-Match': 'string'
    }
    
    r = requests.put('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    PUT /providers/{providerId}/sourceDefinitions/{sourceDefinitionId}

    Updates an existing data source definition through a full replacement of the resource. The ID field might not be modified by this operation.

    Body parameter

    {
      "id": "string",
      "providerId": "string",
      "name": "string",
      "description": "string",
      "dataSourceId": "string",
      "attributes": {
        "property1": {},
        "property2": {}
      },
      "version": 0
    }
    

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceDefinitionId path string true The ID for the source definition.
    If-Match header string false The etag that was returned from a GET, POST or PUT of this data source definition.
    body body updateSourceDefinition true The source definition to update.

    Example responses

    200

    {
      "creationTimeStamp": "2017-04-12T13:29:14.212Z",
      "modifiedTimeStamp": "2017-04-12T13:29:14.212Z",
      "createdBy": "bob",
      "modifiedBy": "bob",
      "id": "ea1a9f8a-5013-4c89-8298-78c95659782e",
      "name": "sourceDefName1",
      "providerId": "Compute",
      "description": "my description",
      "dataSourceId": "myComputeContext",
      "attributes": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3",
        "key4": "value4",
        "key5": "value5",
        "key6": "value6",
        "key7": "value7",
        "key8": "value8",
        "key9": "value9",
        "key10": "value10"
      },
      "version": 1,
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "type": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "type": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e",
          "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers/Compute/sourceDefinitions",
          "uri": "/dataSources/providers/Compute/sourceDefinitions",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.source.definition"
        },
        {
          "method": "GET",
          "rel": "provider",
          "href": "/dataSources/providers/Compute",
          "uri": "/dataSources/providers/Compute",
          "type": "application/vnd.sas.data.provider"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. Data source definition updated successfully. sourceDefinition
    400 Bad Request The request was invalid. This occurs when the user provides an ID in the request that does not match the ID in the path of the URL. error2
    404 Not Found No data source definition exists at the requested path. error2
    412 Precondition Failed The ETag provided does not match the current version of the object or the last modified date does not match. error2
    415 Unsupported Media Type The requested media type is not supported. error2
    428 Precondition Required The ETag was not provided when updating an existing type. error2
    Response Headers
    Status Header Type Format Description
    200 Last-Modified string The ISO8601 date string representing the timestamp of the last update to this data source definition.
    200 Etag string A tag that identifies this revision of this object.

    Delete a data source definition

    Code samples

    # You can also use wget
    curl -X DELETE https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}',
      method: 'delete',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': '*/*'
    }
    
    r = requests.delete('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    DELETE /providers/{providerId}/sourceDefinitions/{sourceDefinitionId}

    Deletes the specified data source definition.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceDefinitionId path string true The ID for the source definition.

    Example responses

    204

    Responses

    Status Meaning Description Schema
    204 No Content The data source definition was deleted. error2
    404 Not Found No provider or data source definition exists at the requested path. error2

    Get a session

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.session+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.session+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.session+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sources/{sourceId}/sessions/{sessionId}

    Returns information about a single session based on its unique ID.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the source.
    sessionId path string true The unique identifier of the session used to access the data service provider's backing service.

    Example responses

    200

    {
      "version": 1,
      "id": "d75b412f-6004-4a03-9e6a-f447fdfc1eff",
      "providerId": "cas",
      "owner": "bob",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff",
          "uri": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff",
          "type": "application/vnd.sas.data.session"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff",
          "uri": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff"
        },
        {
          "method": "GET",
          "rel": "provider",
          "href": "/dataSources/providers/cas",
          "uri": "/dataSources/providers/cas",
          "type": "application/vnd.sas.data.provider"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. session
    404 Not Found No provider, data source, or session exists at the requested path. error2

    Check session availability

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.session+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.session+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.session+json'
    }
    
    r = requests.head('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /providers/{providerId}/sources/{sourceId}/sessions/{sessionId}

    Returns the headers that the corresponding GET returns. Clients use this to determine whether the session exists.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the data source.
    sessionId path string true The unique identifier of the session used to access the data service provider's backing service.

    Example responses

    200

    ""
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. emptyResponse
    404 Not Found No session exists at the requested path. None

    Terminate a session

    Code samples

    # You can also use wget
    curl -X DELETE https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}',
      method: 'delete',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': '*/*'
    }
    
    r = requests.delete('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    DELETE /providers/{providerId}/sources/{sourceId}/sessions/{sessionId}

    Terminates a session if the user has permissions to terminate the sessions, as determined by the provider service.

    Parameters

    Parameter In Type Required Description
    providerId path string true The provider.
    sourceId path string true The ID for the data source.
    sessionId path string true The unique identifier of the session used to access the data service provider's backing service.

    Example responses

    404

    Responses

    Status Meaning Description Schema
    204 No Content The session was terminated. None
    404 Not Found No provider, data source, or session exists at the requested path. error2

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.api+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.api+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.api+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /

    Returns a list of links to the top-level collections surfaced through this API.

    Example responses

    200

    {
      "version": 1,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    Status Meaning Description Schema
    200 OK The request succeeded. Inline

    Check service availability

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataSources/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.api+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.api+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.api+json'
    }
    
    r = requests.head('https://www.example.com/dataSources/', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /

    Returns the headers so that clients can determine whether the service is running.

    Example responses

    200

    ""
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The service is running and available. emptyResponse

    Get a list of engines for a data source

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sources/{sourceId}/engines

    Returns a collection of engines for the respective data source. Standard paging, filtering, and sorting options are provided. The members of this collection use application/vnd.sas.data.engine media type representation.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the source.
    start query integer false The starting index of the first engine in a page. Defaults to 0.
    limit query integer false Maximum number of engines to return in this page of results. The actual number of returned engines might be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Filter criteria for returned engines.
    The valid filter fields are name, label, description, and licensed. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith and isNull. Sample queries include the following:
    • Search by name starting with: /dataSources/providers/{providerId}/sources/{sourceId}/engines?filter=startsWith(name, 'SASI')
    • Search by name: /dataSources/providers/{providerId}/sources/{sourceId}/engines?filter=eq(name, 'SASIONZA')
    • Search for multiple tables: /dataSources/providers/{providerId}/sources/{sourceId}/engines?filter=in(name, 'SASIONZA', 'SASORA')
    sortBy query string(sort-criteria) false Sort returned sources. The sort criteria supports the following fields in either ascending or descending order: name, label, description, and licensed. Sample sorts include the following:
    • Sort ascending by source name: /dataSources/providers/{providerId}/sources/{sourceId}/engines?sortBy=name:ascending
    • Sort descending by table name: /dataSources/providers/{providerId}/sources/{sourceId}/engines?sortBy=name:descending

    The default sort is by name in ascending order.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this identifier is not specified, the data service provider creates a temporary session and then destroys it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. They also contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This only has effect when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided and the session created by the data service provider is not destroyed. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. They also contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false or not specified, the session is destroyed after the request is complete. Defaults to false.

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines?start=0&limit=10",
          "uri": "/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines?start=0&limit=10",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "collection",
          "href": "/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines",
          "uri": "/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/",
          "uri": "/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/",
          "type": "application/vnd.sas.data.source"
        }
      ],
      "name": "engines",
      "accept": "application/vnd.sas.data.engine",
      "start": 0,
      "limit": 10,
      "count": 1,
      "items": [
        {
          "name": "sasionza",
          "label": "NETEZZA",
          "description": "SAS/ACCESS to Netezza",
          "providerId": "compute",
          "licensed": true,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines/sasionza",
              "uri": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines/sasionza",
              "type": "application/vnd.sas.data.engine"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines",
              "uri": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.engine"
            },
            {
              "method": "GET",
              "rel": "provider",
              "href": "/dataSources/providers/Compute",
              "uri": "/dataSources/providers/Compute",
              "type": "application/vnd.sas.data.provider"
            },
            {
              "method": "GET",
              "rel": "dataSource",
              "href": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af",
              "uri": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "definition",
              "href": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines/sasionza/definition",
              "uri": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines/sasionza/definition",
              "type": "application/schema"
            }
          ],
          "version": 1
        }
      ],
      "version": 2
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. engineCollection
    400 Bad Request The request was invalid. An invalid filter or combination of request parameters was provided. error2
    404 Not Found No provider or data source exists at the requested path. error2
    501 Not Implemented One of the following query parameters is not supported (parameter - errorCode):
    • sortBy - 11901
    • filter - 11902
    error2

    Get an engine name

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.engine+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.engine+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.engine+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sources/{sourceId}/engines/{engineName}

    Returns information about a single engine based on its unique name.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the source.
    engineName path string true The unique name of this engine within its data source.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session and then destroys it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This only has effect when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided and the session created by the data service provider is not destroyed. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false or not specified, the session is destroyed after the request is complete. Defaults to false.

    Example responses

    200

    {
      "version": 1,
      "id": "d75b412f-6004-4a03-9e6a-f447fdfc1eff",
      "providerId": "cas",
      "owner": "bob",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff",
          "uri": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff",
          "type": "application/vnd.sas.data.session"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff",
          "uri": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff"
        },
        {
          "method": "GET",
          "rel": "provider",
          "href": "/dataSources/providers/cas",
          "uri": "/dataSources/providers/cas",
          "type": "application/vnd.sas.data.provider"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. session
    404 Not Found No provider, data source, or engine exists at the requested path. error2

    Check engine availability

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.engine+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.engine+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.engine+json'
    }
    
    r = requests.head('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition

    Returns the headers that the corresponding GET returns. Clients might use this to determine whether the engine exists.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the data source.
    engineName path string true The unique name of this engine within its data source.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session and then destroys it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This has no effect when specified for a HEAD request due to the inability to return the session as a link. This only has effect when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided and the session created by the data service provider is not destroyed. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false or not specified, the session is destroyed after the request is complete. Defaults to false.

    Example responses

    200

    ""
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. emptyResponse
    404 Not Found No provider, data source, or engine exists at the requested path. None

    Get an engine definition

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/schema+json'
    
    
    var headers = {
      'Accept':'application/schema+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/schema+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition

    Returns the definition of the engine as application or schema+json. This definition includes all available engine options.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceId path string true The ID for the source.
    engineName path string true The unique name of this engine within its data source.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session and then destroys it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This only has effect when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided and the session created by the data service provider is not destroyed. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false or not specified, the session is destroyed after the request is complete. Defaults to false.

    Example responses

    200

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "title": "SASE7",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "engineName"
      ],
      "properties": {
        "engineName": {
          "label": "V9",
          "type": "string",
          "default": "SASE7",
          "enum": [
            "SASE7"
          ]
        }
      }
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. engineDefinition
    404 Not Found No provider, data source, or engine exists at the requested path. error2

    Create a new source definition from a transfer object

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions#transfer \
      -H 'Content-Type: application/vnd.sas.transfer.object+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.summary+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.transfer.object+json',
      'Accept':'application/vnd.sas.summary+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions#transfer',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Content-Type': 'application/vnd.sas.transfer.object+json',
      'Accept': 'application/vnd.sas.summary+json'
    }
    
    r = requests.post('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions#transfer', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    POST /providers/{providerId}/sourceDefinitions#transfer

    Create a new source definition from transfer object. Other than the old source definition ID, all other source definition properties are preserved.

    Body parameter

    {
      "version": 0,
      "id": "string",
      "summary": {},
      "content": {},
      "connectors": [
        {}
      ]
    }
    

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    body body transferObject true The source definition to be imported.

    Example responses

    201

    {
      "id": "string",
      "name": "string",
      "createdBy": "string",
      "modifiedBy": "string",
      "creationTimeStamp": "2018-12-19T15:20:34Z",
      "modifiedTimeStamp": "2018-12-19T15:20:34Z",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    201 Created A source definition was imported successfully. transferResourceSummary
    400 Bad Request The request was invalid. There was a provider mismatch between the transfer object content and requested provider. error2
    404 Not Found No provider exists at the requested path. error2
    Response Headers
    Status Header Type Format Description
    201 Location string The URI of the newly created source definition.
    201 ETag string The entity tag for the newly created source definition.
    201 Last-Modified string The time stamp in EEE, dd MMM yyyy HH:mm:ss GMT format when the source definition was last modified.

    Check transfer object availability

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}#transfer \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.transfer.object+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.transfer.object+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}#transfer',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.transfer.object+json'
    }
    
    r = requests.get('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}#transfer', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /providers/{providerId}/sourceDefinitions/{sourceDefinitionId}#transfer

    Return the transfer object of the specified source definition.

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceDefinitionId path string true The ID for the source definition.

    Example responses

    200

    {
      "version": 0,
      "id": "string",
      "summary": {},
      "content": {},
      "connectors": [
        {}
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The source definition returned as a transfer object. transferObject
    404 Not Found No provider or data source definition exists at the requested path. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string The entity tag for the source definition.
    200 Last-Modified string The time stamp in EEE, dd MMM yyyy HH:mm:ss GMT format when the source definition was last modified.

    Update a source definition with a transfer object

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}#transfer \
      -H 'Content-Type: application/vnd.sas.transfer.object+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.summary+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.transfer.object+json',
      'Accept':'application/vnd.sas.summary+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}#transfer',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Content-Type': 'application/vnd.sas.transfer.object+json',
      'Accept': 'application/vnd.sas.summary+json'
    }
    
    r = requests.put('https://www.example.com/dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}#transfer', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    PUT /providers/{providerId}/sourceDefinitions/{sourceDefinitionId}#transfer

    Updates a source definition using the transfer object. If no existing source definition is found, a new source definition is created. Either way, all other source definition properties are preserved.

    Body parameter

    {
      "version": 0,
      "id": "string",
      "summary": {},
      "content": {},
      "connectors": [
        {}
      ]
    }
    

    Parameters

    Parameter In Type Required Description
    providerId path string true The ID for the provider.
    sourceDefinitionId path string true The ID for the source definition.
    body body transferObject true Source definition to be imported.

    Example responses

    200

    {
      "id": "string",
      "name": "string",
      "createdBy": "string",
      "modifiedBy": "string",
      "creationTimeStamp": "2018-12-19T15:20:34Z",
      "modifiedTimeStamp": "2018-12-19T15:20:34Z",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The imported or updated source definition returned in resource summary format. transferResourceSummary
    400 Bad Request The request was invalid. There is a mismatch in the transfer object content and one of the following requested resources:
    • The provider
    • The data source definition
    error2
    404 Not Found No provider exists at the requested path. error2

    Schemas

    emptyResponse

    Properties

    Empty Response

    Name Type Required Description
    Empty Response string false A response with an empty body

    provider

    Properties

    Provider

    Name Type Required Description
    id string false The unique provider identifier.
    version integer false The provider schema version.
    apiVersion integer false The provider API version.
    usesSessions boolean false If this value is true, this provider supports sessions. If false, sessions are not supported.
    sourceDefinitionsSupport string false Indicates to the dataSources service how it should handle source definition persistence for this provider. The possible values are none (no support) and providedByDataSources (data sources service stores source definitions for the provider).
    attributes object false Additional provider-specific attributes.
    » additionalProperties any false
    links [any] false Links that apply to this resource.
    » Link object false A link to a related operation or resource.
    »» method string false The HTTP method for the link.
    »» rel string true The relationship of the link to the resource.
    »» uri string false The relative URI for the link.
    »» href string false The URL for the link.
    »» title string false The title for the link.
    »» type string false The media type or link type for the link.
    »» itemType string false If this is a link to a container, itemType is the media type or link type for the items in the container.
    »» responseType string false The media type or link type of the response body for a PUT, POST, or PATCH operation.
    »» responseItemType string false The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.

    providerSummary

    Properties

    Provider Summary

    Name Type Required Description
    id string false The unique provider identifier.
    version integer false The provider schema version.
    links [links] false Links that apply to this resource.

    providerSummaryCollection

    Properties

    Provider Summary Collection

    allOf

    Name Type Required Description
    anonymous object false 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)
    » name string false The name of the collection.
    » start integer(int64) false The zero-based index of the first item in the collection.
    » limit integer false The number of items that were requested for the collection.
    » count integer(int64) false The number of items in the collection.
    » accept string false A space-delimited list of media types from which an Accept header may be constructed.
    » links [links] false The links that apply to the collection.
    » version integer false The version number of the collection representation. This representation is version 2.

    and

    Name Type Required Description
    anonymous object false
    » items [providerSummary] true The array that contains provider summary resources.

    source

    Properties

    Data Source

    Name Type Required Description
    id string false The unique data source identifier.
    providerId string false The source provider identifier.
    name string false The non-unique name of the data source.
    description string false A brief description of the source.
    hasTables boolean false If this value is true, this source is a table container. If this value is false, this source is not a table container.
    hasEngines string false If this value is true, this source, this source has engines available for it. If this value is false, this source does not have engines available for it.
    createdBy string false The user who created this source.
    modifiedBy string false The last user to modify this source.
    creationTimeStamp string(date-time) false The timestamp for the source creation.
    modifiedTimeStamp string(date-time) false The timestamp for the last source modification.
    attributes object false The attributes for this source.
    » additionalProperties object false
    version integer false The source schema version.
    links [links] false The paging links that apply to this object.

    sourceCollection

    Properties

    Data Source Collection

    allOf

    Name Type Required Description
    anonymous providerSummaryCollection/allOf/0 false 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)

    and

    Name Type Required Description
    anonymous object false
    » items [source] true The array that contains data source resources.

    sourceChildrenCollection

    Properties

    Data Source Children Collection

    allOf

    Name Type Required Description
    anonymous providerSummaryCollection/allOf/0 false 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)

    and

    Name Type Required Description
    anonymous object false
    » items [source] true The array that contains data source resources.

    engineCollection

    Properties

    Engine Collection

    allOf

    Name Type Required Description
    anonymous providerSummaryCollection/allOf/0 false 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)

    and

    Name Type Required Description
    anonymous object false
    » items [engine] true The array that contains engine resources.

    sourceDefinition

    Properties

    Data Source Definition

    Name Type Required Description
    id string false The unique data source definition identifier.
    providerId string false The provider identifier.
    dataSourceId string false A unique identifier of the associated data source.
    name string false The non-unique name of the data source.
    description string false A brief description of the data source definition.
    createdBy string false The user who created this source definition.
    modifiedBy string false The last user to modify this data source definition.
    creationTimeStamp string(date-time) false The timestamp for the source definition creation.
    modifiedTimeStamp string(date-time) false The timestamp for the last source definition modification.
    attributes object false The attributes for this source definition.
    » additionalProperties object false
    version integer false The source definition schema version.
    links [links] false Paging links that apply to this object.

    updateSourceDefinition

    Properties

    Update Source Definition Request

    Name Type Required Description
    id string false The unique data source definition identifier.
    providerId string false The provider identifier.
    name string false The non-unique name for the data source definition.
    description string false A brief description for the data source definition.
    dataSourceId string false The unique identifier for the associated data source.
    attributes object false The attributes for this source definition.
    » additionalProperties object false
    version integer false The source definition schema version.

    createSourceDefinition

    Properties

    Create Data Source Definition Request

    Name Type Required Description
    providerId string false The provider identifier.
    name string false The non-unique name for the data source definition.
    description string false A brief description of the data source definition.
    dataSourceId string false The unique identifier for the associated data source.
    attributes object false The attributes for this source definition.
    » additionalProperties object false
    version integer false The source definition schema version.

    sourceDefinitionCollection

    Properties

    Data Source Definition Collection

    allOf

    Name Type Required Description
    anonymous providerSummaryCollection/allOf/0 false 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)

    and

    Name Type Required Description
    anonymous object false
    » items [sourceDefinition] true The array that contains source definition resources.

    session

    Properties

    Session

    Name Type Required Description
    version integer false The media type's schema version number.
    id string false The unique session identifier.
    providerId string false The provider identifier for this session.
    owner string false The user ID for the owner of this session.
    attributes object false The attributes for this session.
    » additionalProperties object false
    links [links] false The links that apply to the resource or object.

    engine

    Properties

    Engine

    Name Type Required Description
    version integer false The media type's schema version number.
    name string false The unique name of this engine within its data source.
    nickname string false The user visible nickname of the engine.
    legalName string false The engine's short legal name.
    providerId string false The unique identifier of this engine's provider.
    dataSourceId string false The unique identifier of this engine's parent data source.
    licensed boolean false If true, the engine is licensed. If false, the engine is not licensed.
    hasDefinition boolean false If true, the engine has an associated definition. If false, the definition link is omitted.
    links [links] false The links that apply to this object.

    engineDefinition

    Properties

    Engine Definition

    None

    transferObject

    Properties

    Transfer Object

    Name Type Required Description
    version integer false The version number of the transfer object.
    id string false The unique transfer object identifier.
    summary object false The details of the source definition.
    content object false The encoded data of the transfer object.
    connectors [object] false Items that are associated with the transfer object.

    transferResourceSummary

    Properties

    Transfer Resource Summary Object

    Name Type Required Description
    id string false The unique data source definition identifier.
    name string false The non-unique name of the data source.
    createdBy string false The user who created this source definition.
    modifiedBy string false The last user to modify this data source definition.
    creationTimeStamp string(date-time) false The timestamp for the source definition creation.
    modifiedTimeStamp string(date-time) false The timestamp for the last source definition modification.
    links [links] false Paging links that apply to this object.
    version integer false The source definition schema version.

    error2

    Properties

    Error

    Name Type Required Description
    message string false The message for the error.
    id string false The string ID for the error.
    errorCode integer false The numeric ID for the error.
    httpStatusCode integer true The HTTP status code for the error.
    details [string] false Messages that provide additional details about the cause of the error.
    remediation string false A message that describes how to resolve the error.
    errors [error2] false Any additional errors that occurred.
    links [links] false The links that apply to the error.
    version integer true The version number of the error representation. This representation is version 2.

    Usage Notes

    Overview

    Context

    The Data Sources API works in concert with the Data Tables and Row Sets APIs to navigate, reference and retrieve data in the SAS Viya ecosystem. The Data Sources API enables retrieval of data source metadata. A data source represents a collection of data tables. Examples of data sources are SAS data libraries, CASLIBs, or a JDBC data schema.

    Each data source is a RESTful resource with a URL that serves as the address of and unique ID of that data source.

    Terminology

    data source

    represents a node in the data source hierarchy that can represent a server, library, or collection of tables.

    provider

    represents a vnd.sas.data.provider that the Data Sources service provider is responsible for managing and retrieving rather than the Data Sources service (such as CAS). These are retrieved from the service registry.

    data source definition

    represents the metadata needed to construct a data source node in the hierarchy. This are only be available on a per provider basis. Compute is the only supported provider.

    engine

    represents the means to connect to the next level down in the data source hierarchy. An engine's definition contains all of the available attributes that must be specified to create a data source definition.

    Resources

    Resource Relationships

    The diagram below shows the relationships between the resources in this API.

    Data Sources entity relationship diagram

    Pagination, Sorting, and Filtering

    Root

    Path: /

    The GET / response includes the following links:

    Relation Method Description
    providers GET Returns a collection of data source providers.
    URI: /dataSources/providers
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.provider.summary

    Providers

    Path: /providers

    The response includes the following links:

    Relation Method Description
    collection GET Returns the first page of the collection, without the sorting or filtering criteria.
    URI: /dataSources/providers
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.provider
    self GET Returns the current page of the collection.
    URI: /dataSources/providers
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.provider
    first GET Returns the first page of collection results. (start=0)
    URI: /dataSources/providers
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.provider
    prev GET Returns the previous page of collection results.
    URI: /dataSources/providers
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.provider
    next GET Returns the next page of collection results.
    URI: /dataSources/providers
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.provider
    last GET Returns the last page of collection results.
    URI: /dataSources/providers
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.provider
    up GET Returns the root of this API.
    URI: /dataSources
    Type: application/vnd.sas.collection

    Sources

    Path: /providers/{providerId}/sources

    The response includes the following links:

    Relation Method Description
    collection GET Returns the first page of the collection, without the sorting or filtering criteria.
    URI: /dataSources/providers/{providerId}/sources
    Type: application/vnd.sas.collection
    Item type: applcation/vnd.sas.data.source
    self GET Returns the current page of the collection.
    URI: /dataSources/providers/{providerId}/sources
    Type: application/vnd.sas.collection
    Item type: applcation/vnd.sas.data.source
    first GET Returns the first page of collection results. (start=0)
    URI: /dataSources/providers/{providerId}/sources
    Type: application/vnd.sas.collection
    Item type: applcation/vnd.sas.data.source
    prev GET Returns the previous page of collection results.
    URI: /dataSources/providers/{providerId}/sources
    Type: application/vnd.sas.collection
    Item type: applcation/vnd.sas.data.source
    next GET Returns the next page of collection results.
    URI: /dataSources/providers/{providerId}/sources
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.source
    last GET Returns the last page of collection results.
    URI: /dataSources/providers/{providerId}/sources
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.source
    up GET Returns the parent provider of this collection.
    URI: /dataSources/providers/{providerId}
    Type: application/vnd.sas.data.provider

    Children

    Path: /providers/{providerId}/sources/{sourceId}/children

    The response includes the following links:

    Relation Method Description
    collection GET Returns the first page of the collection, without the sorting or filtering criteria.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/children
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source
    self GET Returns the current page of the collection.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/children
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source
    sessionScoped GET Returns the current page of the (filtered) collection with the sessionId query parameter included. This link exists only if the sessionId query parameter is passed in or thepreserveSession is set to true.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/children?sessionId={sessionId}
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source
    first GET Returns the first page of collection results. (start=0)
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/children
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source
    prev GET Returns the previous page of collection results.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/children
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source
    next GET Returns the next page of collection results.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/children
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source
    last GET Returns the last page of collection results.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/children
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source
    up GET Returns the parent source of this collection.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}
    Type: application/vnd.sas.data.source
    session GET Provides a link to get the session for accessing this collection. This link is included if the client request includes the ?sessionId query parameter or if the preserveSession query parameter is set to true.
    HREF: /dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session

    Engines

    Path: /providers/{providerId}/sources/{sourceId}/engines

    The response includes the following links:

    Relation Method Description
    collection GET Returns the first page of the collection, without the sorting or filtering criteria.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    self GET Returns the current page of the collection.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    sessionScoped GET Returns the current page of the (filtered) collection with the sessionId query parameter included. This link exists only if the sessionId query parameter is passed in or thepreserveSession is set to true.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines?sessionId={sessionId}
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    first GET Returns the first page of collection results. (start=0)
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    prev GET Returns the previous page of collection results.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    next GET Returns the next page of collection results.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    last GET Returns he last page of collection results.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    up GET Returns the parent source of this collection.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}
    Type: application/vnd.sas.data.source
    session GET Provides a link to get the session for accessing this collection. This link is included if the client request includes the ?sessionId query parameter or if the preserveSession query parameter is set to true.
    HREF: /dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session

    sourceDefinitions

    Path: /providers/{providerId}/sourceDefinitions

    The response includes the following links:

    Relation Method Description
    collection GET Returns the first page of the collection, without the sorting or filtering criteria.
    URI: /dataSources/providers/{providerId}/sourceDefinitions
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source.definition
    self GET Returns the current page of the collection.
    URI: /dataSources/providers/{providerId}/sourceDefinitions
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source.definition
    first GET Returns the first page of collection results. (start=0)
    URI: /dataSources/providers/{providerId}/sourceDefinitions
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source.definition
    prev GET Returns the previous page of collection results.
    URI: /dataSources/providers/{providerId}/sourceDefinitions
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source.definition
    next GET Returns the next page of collection results.
    URI: /dataSources/providers/{providerId}/sourceDefinitions
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source.definition
    last GET Returns the last page of collection results.
    URI: /dataSources/providers/{providerId}/sourceDefinitions
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source.definition
    up GET Returns the parent provider of this collection. URI: /dataSources/providers/{providerId}
    Type: application/vnd.sas.data.provider
    createSourceDefinition POST Provides a link to create a data source definition HREF: /dataSources/providers/{providerId}/sourceDefinitions
    Item type: application/vnd.sas.data.source.definition
    import POST Imports a data source definition from the transfer data
    HREF: /dataSources/providers/{providerId}/sourceDefinitions
    Type: application/vnd.sas.transfer.object Response type: application/vnd.sas.summary

    Media Types

    Externally-Defined Media Types

    Generic Attributes Model

    The model for a generic attributes object that is used across multiple resource representations follows. The purpose of this model is to store attributes in a generic fashion, allowing the resource to be expanded without requiring version updates. It also enables various providers to provide different data that is appropriate for different resources.

    For example, a CAS Server data source would have a different set of attributes than a Compute Server context.

    Name Type Description
    attributes object An object containing name/value pairs where the values can be any type, such as a number, string, object, or an array.
    JSON Representation of Attributes

    { "attributes": { "myAttrNum": 1.2, "myAttrInt": 100, "myAttrString": "myString", "myAttrArray": [ 123, "value1", true], "myAttrBoolean": true, "myAttrNull": null, "myAttrObj": { "myAttrBoolean": true, "myAttrNull": null, } }

    application/vnd.sas.data.provider

    The application/vnd.sas.data.provider media type describes the complete details of the provider.

    Relation Method Description
    self GET Returns a link to the full or complete representation of the provider.
    URI: /dataSources/providers/{providerId}
    Type: application/vnd.sas.data.provider
    alternate GET Returns a link to the summary representation of the provider.
    URI: /dataSources/providers/{providerId}
    Type: application/vnd.sas.data.provider.summary
    up GET Returns a link to the collection of all data source providers.
    URI: /dataSources/providers Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.provider.summary
    dataSources GET Returns a link to the collection of sources that belong to this provider. HREF: /dataSources/providers/{providerId}/sources
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source
    sourceDefinitions GET Returns a link to the collection of source definitions that belong to this provider. This will be omitted if the provider does not support data source definitions.
    HREF: /dataSources/providers/{providerId}/sourceDefinitions
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source.definition
    Members
    Name Type Description
    version integer Returns the media type's schema version number. This representation is version 2.
    id string Returns the unique identifier for a provider.
    apiVersion integer Returns the provider API version.
    usesSessions boolean Returns as true if the provider supports sessions, false otherwise.
    sourceDefinitionsSupport string Returns the type of sourceDefinitionsSupport this provider desires. Valid values include: : none : providedByDataSources.
    attributes object Returns a generic attributes object. See the Generic attributes model for more information.
    links array of link objects Returns the links that apply to related resources or operations. See the above link relations table for a description of the link types.
    application/vnd.sas.data.provider+json

    { "id": "cas", "type": "dataSources", "usesSessions": true, "sourceDefinitionsSupport": "none", "apiVersion": 2, "links": [ { "method": "GET", "rel": "self", "type": "application/vnd.sas.data.provider", "href": "/dataTables/providers/cas", "uri": "/dataTables/providers/cas" }, { "method": "GET", "rel": "alternate", "type": "application/vnd.sas.data.provider.summary", "href": "/dataTables/providers/cas", "uri": "/dataTables/providers/cas" }, { "method": "GET", "rel": "up", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.provider", "href": "/dataTables/providers", "uri": "/dataTables/providers" }, { "method": "GET", "rel": "dataSources", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.source", "href": "/dataSources/providers/cas/sources", "uri": "/dataSources/providers/cas/sources" } ], version: 2 }

    application/vnd.sas.data.provider.summary

    The application/vnd.sas.data.provider.summary media type describes the summary details of this provider.

    application/vnd.sas.data.provider.summary has the same link relations as application/vnd.sas.data.provider.

    Members

    application/vnd.sas.data.provider.summary has the following members of the application/vnd.sas.data.provider media type: * id * type * links * version

    The following field members are removed from this media type: usesSessions, attributes, apiVersion.

    This is representation version 1.

    application/vnd.sas.data.provider.summary+json

    { "id": "cas", "type": "dataSources", "links": [ { "method": "GET", "rel": "self", "type": "application/vnd.sas.data.provider", "href": "/dataTables/providers/cas", "uri": "/dataTables/providers/cas" }, { "method": "GET", "rel": "alternate", "type": "application/vnd.sas.data.provider.summary", "href": "/dataTables/providers/cas", "uri": "/dataTables/providers/cas" }, { "method": "GET", "rel": "up", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.provider", "href": "/dataTables/providers", "uri": "/dataTables/providers" }, { "method": "GET", "rel": "dataSources", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.source", "href": "/dataSources/providers/cas/sources", "uri": "/dataSources/providers/cas/sources" } ], version: 1 }

    application/vnd.sas.data.source

    The application/vnd.sas.data.source media type describes the complete details of a data source.

    Relation Method Description
    self GET Returns the link to the full/complete representation of the source.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}
    Type: application/vnd.sas.data.source
    alternate GET Returns the link to the summary representation of the source. Added source summary representation. Since: 2
    URI: /dataSources/providers/{providerId}/sources/{sourceId}
    Type: application/vnd.sas.data.source.summary
    sessionScoped GET Returns the link to the current page of the (filtered) collection with the sessionId query parameter included. This link exists only if the sessionId query parameter is passed in or thepreserveSession is set to true.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}?sessionId={sessionId}
    Type: application/vnd.sas.data.source
    session GET Returns a link to get the session for accessing this collection. This link is included if the client request includes the sessionId query parameter or if the preserveSession query parameter is set to true. HREF: /dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session
    up GET Returns a link to the collection of root data sources in this hierarchy. Note this up link never has the sessionId query parameter on it. If if this link is followed, the sessionId's value must be maintained by the consuming application.
    URI: /dataSources/providers/{providerId}/sources/
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.source
    children GET Returns a link to the collection of child data sources that belong to this data source
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/children
    Type: application/vnd.sas.collection
    Item Type: application/vnd.sas.data.source
    parent GET Returns a link to the parent source of this source. This is only available if the source has a parent source
    URI: /dataSources/providers/{providerId}/sources/{parentSourceId}
    Type: application/vnd.sas.data.source
    tables GET Returns a link to the collection of tables for this data source. This should be omitted if the source hasTables member is set to false. HREF: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table
    engines GET Returns a link to the collection of engines for this data source. This should be omitted if the source hasEngines member is set to false.
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    Members
    Name Type Description
    version integer Returns the media type's schema version number. This representation is version 1.
    id string Returns the data source's unique identifier.
    providerId string Returns the identifier of the provider the data source is contained within.
    parentId string Returns the identifier of the data source's parent data source. Should be omitted or null if the data source has no parent data source.
    name string Returns the non-unique name (such as the display name) of the data source.
    type string Returns the data source's type (such as casServer, caslib, schema, etc.)
    description string Returns a brief description of the data source.
    hasTables boolean Returns true if this data source contains tables, false otherwise.
    hasEngines boolean Returns true if this data source contains engines, false otherwise.
    createdBy string Returns the user ID who created this data source.
    modifiedBy string Returns the last user ID to modify this data source.
    creationTimeStamp string Returns the formatted time stamp when the data source was created, in yyyy-mm-ddThh:mm:ssZ format.
    modifiedTimeStamp string Returns the formatted time stamp when the data source was created, in yyyy-mm-ddThh:mm:ssZ format.
    attributes object Returns an object containing arbitrary types (objects, arrays, numbers, Booleans). See the generic attributes model for more information.
    links array of link objects Returns links that apply to related resources or operations. See the above link relations table for a description of the link types.
    application/vnd.sas.data.source+json

    { "version": 1, "id": "2bdc7d5b-3c52-44f9-84e6-2f25f6a42e8d", "name": "Mike's DB Server", "description": "The database server on Mike's computer", "providerId": "jdbc", "type": "dbServer", "hasTables": false, "hasEngines": false, "creationTimeStamp": "2000-06-10T09:18:08.000Z", "modifiedTimeStamp": "2015-07-07T16:19:44.000Z", "createdBy": "bob", "modifiedBy": "bob", "attributes": { "extraAttr1": true, "extraAttr2": 100, "extraAttr3": "extra attribute for example" }, "links": [ { "method": "GET", "rel": "self", "href": "/dataSources/providers/jdbc/sources/2bdc7d5b-3c52-44f9-84e6-2f25f6a42e8d", "uri": "/dataSources/providers/jdbc/sources/2bdc7d5b-3c52-44f9-84e6-2f25f6a42e8d", "type": "application/vnd.sas.data.source" }, { "method": "GET", "rel": "up", "href": "/dataSources/providers/jdbc/sources", "uri": "/dataSources/providers/jdbc/sources", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.source" }, { "method": "GET", "rel": "children" "href": "/dataSources/providers/jdbc/sources/2bdc7d5b-3c52-44f9-84e6-2f25f6a42e8d/children", "uri": "/dataSources/providers/jdbc/sources/2bdc7d5b-3c52-44f9-84e6-2f25f6a42e8d/children", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.source" } ] }

    application/vnd.sas.data.source.summary

    The application/vnd.sas.data.source.summary media type describes the summary details of a data source. Note that this summary media type is not the default media type for its respective collection. Instead, the default is the application/vnd.sas.data.source media type. If you want to retrieve this media type instead, specify the Accept-Item header as application/vnd.sas.data.source.summary+json on the GET /providers/{providerId}/sources request.

    application/vnd.sas.data.source.summary has the same link relations as application/vnd.sas.data.source.

    Members

    application/vnd.sas.data.source.summary has all of the members of the application/vnd.sas.data.source media type. The attributes member's content varies depending on the provider.

    This is representation version 1.

    application/vnd.sas.data.session

    The application/vnd.sas.data.session media type describes the complete details of a session.

    Relation Method Description
    self GET Returns a link to the representation of the session.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session
    delete DELETE Returns a link to destroy this session instance.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}
    provider GET Returns a link to the session's respective provider
    URI: /dataSources/providers/{providerId}
    Type: application/vnd.sas.data.provider
    Members
    Name Type Description
    version integer Returns the media type's schema version number. This representation is version 1.
    id string Returns the unique session identifier.
    providerId string Returns the provider identifier for this session.
    owner string Returns the user ID of the owner of the session.
    attributes object Returns an object containing arbitrary types (objects, arrays, numbers, Booleans). See the generic attributes model for more information.
    links array of link objects Returns links that apply to related resources or operations. See the above link relations table for a description of the link types.
    application/vnd.sas.data.session+json

    { "version": 1, "id": "d75b412f-6004-4a03-9e6a-f447fdfc1eff", "providerId": "cas", "owner": "bob", "links": [ { "method": "GET", "rel": "self", "href": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff", "uri": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff", "type": "application/vnd.sas.data.session" }, { "method": "DELETE", "rel": "delete", "href": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff", "uri": "/dataSources/providers/cas/sources/casServer/sessions/d75b412f-6004-4a03-9e6a-f447fdfc1eff" }, { "method": "GET", "rel": "provider", "href": "/dataSources/providers/cas", "uri": "/dataSources/providers/cas", "type": "application/vnd.sas.data.provider" } ] }

    application/vnd.sas.data.engine

    The application/vnd.sas.data.engine media type describes the complete details of an engine.

    Relation Method Description
    self GET Returns a link to the full or complete representation of the engine.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}
    Type: application/vnd.sas.data.engine
    sessionScoped GET Returns a link to the engine with the sessionId query parameter included. This link exists only if the sessionId query parameter is passed in or thepreserveSession is set to true.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/sources/engines/{engineName}?sessionId={sessionId}
    Type: application/application/vnd.sas.data.engine
    up GET Returns a link to the collection of all engines for the data source
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.engine
    provider GET Returns a link to the provider for this engine
    URI: /dataSources/providers/{providerId}
    Type: application/vnd.sas.data.provider
    dataSource GET Returns a link to this engine's parent data source
    URI: /dataSources/providers/{providerId}/sources/{sourceId}
    Type: application/vnd.sas.data.source
    definition GET Returns a link to this engine's associated definition represented as a schema. This is omitted if the engine does not have an associated definition.
    URI: /dataSources/providers/{providerId}/sources/{sourceId}/engines/{engineName}/definition
    Type: application/schema
    session GET Returns a link to get the session for accessing this engine. This link is included if the client request includes the ?sessionId query parameter or if the preserveSession query parameter is set to true. HREF: /dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session
    Members
    Name Type Description
    version integer Returns this media type's schema version number. This representation is version 1.
    name string Returns the unique name of this engine within its data source
    nickname string Returns the user visible nickname of this engine.
    legalName string Returns the engine's short legal name.
    providerId string Returns the unique identifier of this engine's provider.
    dataSourceId string Returns the unique identifier of this engine's parent data source.
    licensed boolean Returns true if the engine is licensed, false otherwise.
    hasDefinition boolean Returns true if this engine has an associated definition, false otherwise. If false the definition link will be omitted from the response.
    links array of link objects Returns links that apply to related resources or operations. See the above link relations table for a description of the link types.
    application/vnd.sas.data.engine+json

    { "version": 1, "name": "SASIONZA", "nickname": "Netezza", "legalName": "The SAS Netezza engine", "providerId": "compute", "dataSourceId": "myComputeContext", "licensed": true, "hasDefinition": true, "links": [ { "method": "GET", "rel": "self", "href": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines/sasionza", "uri": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines/sasionza", "type": "application/vnd.sas.data.engine" }, { "method": "GET", "rel": "up", "href": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines", "uri": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.engine" }, { "method": "GET", "rel": "provider", "href": "/dataSources/providers/Compute", "uri": "/dataSources/providers/Compute", "type": "application/vnd.sas.data.provider" }, { "method": "GET", "rel": "dataSource", "href": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af", "uri": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af", "type": "application/vnd.sas.data.source" }, { "method": "GET", "rel": "definition", "href": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines/sasionza/definition", "uri": "/dataSources/providers/Compute/sources/940c9a86-05be-4099-b694-e2bca22d92af/engines/sasionza/definition", "type": "application/schema" } ] }

    application/schema+json

    The application/schema+json describes the options for the engine using JSON Schema.

    { "$schema": "http://www.sas.com/schemas/engines/SASIONZA", "title": "SASIONZA", "description": "SASIONZA description", "type": "object", "additionalProperties": false, "required": [ "engineName" ], "properties": { "engineName": { "label": "SASIONZA", "description": "SASIONZA description", "type": "string", "default": "SASIONZA", "enum": [ "SASIONZA" ] }, "physicalName": { "label": "Physical name", "description": "physicalName description", "type": "string" }, "custom": { "label": "custom libname options", "description": "custom libname option description", "type": "string" }, "options": { "type": "object", "additionalProperties": false, "description": "the libname options", "properties": { "PRESERVE_COL_NAMES": { "label": "Preserve column names as in the DBMS", "description": "PRESERVE_COL_NAMES is used to create DBMS columns with non-standard SAS characters", "default": "YES", "aliases": [ "QUOTE_NAMES", "PRES_COL", "DBMIXED" ], "enum": [ "YES", "NO" ], "type": "string" }, "DBINDEX": { "label": "Whether to use indexes", "description": "DBINDEX specifies whether to use database indexes during a join to a SAS data set", "default": "NO", "enum": [ "YES", "NO" ], "type": "string" }, "CONNECTION": { "label": "Type of connection", "description": "CONNECTION determines whether operations against a libref share a connection to the DBMS", "default": "SHAREDREAD", "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "DEFER": { "label": "Whether to defer a connection until needed", "description": "DEFER determines when the connection to the DBMS occurs", "default": "NO", "enum": [ "YES", "NO" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "SPOOL": { "label": "Whether to create a spool file for two-pass processing", "description": "SPOOL specifies whether to create a utility spool file during read transactions that read data more than once", "default": "YES", "type": "string" }, "CONNECTION_GROUP": { "label": "Connection group name", "description": "CONNECTION_GROUP causes operations against multiple librefs and operations against multiple Pass-Through Facility CONNECT statements to share a connection to the DBMS", "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "READ_LOCK_TYPE": { "label": "Lock type for reading", "description": "READ_LOCK_TYPE specifies how to lock the table during read operations", "default": "EMPTY", "aliases": [ "READLOCK_TYPE" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "UPDATE_LOCK_TYPE": { "label": "Lock type for updating", "description": "UPDATE_LOCK_TYPE specifies how to lock the table during update operations", "default": "EMPTY", "aliases": [ "UPDATELOCK_TYPE" ], "type": "string" }, "DBCONINIT": { "label": "User-defined connection initialization command", "description": "DBCONINIT is a user-defined initialization command to be executed immediately after every connection to the DBMS that is within the scope of the LIBNAME", "aliases": [ "DBINITCMD", "INITCMD" ], "type": "string", "pattern": "^\".?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "DBCONTERM": { "label": "User-defined connection termination command", "description": "DBCONTERM is a user-defined termination command to be executed before every disconnect from the DBMS that is within the scope of the LIBNAME", "aliases": [ "DBTERMCMD", "TERMCMD" ], "type": "string", "pattern": "^\".?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "DBPROMPT": { "label": "Prompt user for connection information", "description": "DBPROMPT Specifies whether SAS displays a window that prompts for connection information.", "default": "NO", "enum": [ "YES", "NO" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "PRESERVE_TAB_NAMES": { "label": "Preserve DBMS table names", "description": "PRESERVE_TAB_NAMES is used to show table names as defined in the database", "default": "YES", "aliases": [ "PRES_TAB", "QUOTE_TABLE_NAMES" ], "enum": [ "YES", "NO" ], "type": "string" }, "REREAD_EXPOSURE": { "label": "Allow random access to a table when rereading a row", "description": "REREAD_EXPOSURE specifies whether the SAS/ACCESS engine behaves like a random access engine for the scope of the LIBNAME statement", "default": "NO", "aliases": [ "REREAD_EXPOSURE_OK" ], "enum": [ "YES", "NO" ], "type": "string" }, "DBLIBINIT": { "label": "User-defined library initialization command", "description": "DBLIBINIT is a user-defined initialization command to be executed once within the scope of the LIBNAME statement or libref that establised the first connection to the DBMS", "type": "string", "pattern": "^\".?\"$" }, "DBLIBTERM": { "label": "User-defined library termination command", "description": "DBLIBTERM is a user-defined termination command to be executed once, before the DBMS disconnect that is associated with the first connection made by the LIBNAME statement or libref", "type": "string", "pattern": "^\".?\"$" }, "VALIDVARNAME": { "label": null, "description": null, "default": "V7", "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "DIRECT_SQL": { "label": "Pass generated SELECT SQL to the DBMS", "description": "DIRECT_SQL specifies whether generated SQL is passed to the DBMS for processing-", "default": "YES", "type": "array", "items": { "type": "string", "enum": [ "NO", "NOMULTOUTJOINS", "NOFUNCTIONS", "NONE", "ONCE", "NOGENSQL", "NOWHERE", "YES" ] } }, "DBGEN_NAME": { "label": "How to rename DBMS columns containing invalid SAS characters", "description": "DBGEN_NAME causes automatic renaming of DBMS columns containing characters that SAS does not allow", "default": "DBMS", "type": "string", "enum": [ "SAS", "DBMS" ], "tags": [ "DBI_PASSTHRU_OPTION" ] }, "DBMAX_TEXT": { "label": "Maximum text length", "description": "DBMAX_TEXT determines the length of a very long DBMS character data type that is read into or written from SAS when using a SAS/ACCESS engine", "default": 1024, "aliases": [ "TEXTSIZE" ], "type": "integer", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "PRESERVE_NAMES": { "label": null, "description": null, "default": "YES", "aliases": [ "PRES" ], "enum": [ "YES", "NO" ], "type": "string" }, "DBCREATE_TABLE_OPTS": { "label": "Options used in DBMS CREATE TABLE", "description": "DBCREATE_TABLE_OPTS specifies DBMS-specific syntax to add to the end of the DBMS CREATE TABLE statement", "aliases": [ "POST_STMT_OPTS" ], "type": "string" }, "DBCOMMIT": { "label": "How often to COMMIT insert, update, or delete transactions", "description": "DBCOMMIT causes an automatic COMMIT after a specified number of rows have been processed", "type": "integer" }, "DBNULLKEYS": { "label": "Whether to check for null keys when generating where clauses", "description": "DBNULLKEYS controls the format of the WHERE clause when you use the DBKEY= data set option", "default": "YES", "enum": [ "YES", "NO" ], "type": "string" }, "MULTI_DATASRC_OPT": { "label": "Multi data source optimization", "description": "MULTI_DATASRC_OPT (new for V9) can be used instead of DBKEY data set option when joining a large DBMS table and a relatively small SAS data set", "default": "NONE", "type": "string", "enum": [ "NONE", "IN_CLAUSE" ] }, "DBSLICEPARM": { "label": "Threaded DBMS access", "description": "DBSLICEPARM (new for V9) allows automatic generation of partitioning WHERE clauses if the DBSLICE data set option is not set. Value consists of text and the maximum number of threads", "type": "array", "items": { "type": "string" } }, "DIRECT_EXE": { "label": "Pass DELETE to the DBMS", "description": "DIRECT_EXE (new for 9.1) enables you to pass an SQL statement directly to the database via implicit passthru", "type": "string", "enum": [ "DELETE" ] }, "DBSASLABEL": { "label": "Column label type", "description": "DBSASLABEL specifies the type of column labels an engine uses", "default": "COMPAT", "type": "string", "enum": [ "COMPAT", "DBMS", "NONE" ] }, "DBCHAR_CONSTANT_IS_SPOOFED": { "label": null, "description": null, "default": "NO", "enum": [ "YES", "NO" ], "type": "string" }, "UTILCONN_TRANSIENT": { "label": "Whether to automatically drop utility connections", "description": "UTILCONN_TRANSIENT (new for 9.1) determines whether a utility connection gets automatically dropped as soon as it is no longer in use.", "default": "NO", "enum": [ "YES", "NO" ], "type": "string" }, "THREADED_SQL": { "label": null, "description": null, "default": "NO", "enum": [ "YES", "NO" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "DBMSTEMP": { "label": "Whether tables created by SAS are temporary", "description": "DBMSTEMP specifies whether SAS creates temporary or permanent tables", "default": "NO", "enum": [ "YES", "NO" ], "type": "string" }, "SQL_FUNCTIONS_COPY": { "label": "Where to write the current in-memory functins list", "description": "SQL_FUNCTIONS_COPY writes the functions associated with this particular LIBNAME statement to a SAS data set or the SAS log", "type": "string" }, "SELECTS_WITH_UNION": { "label": null, "description": null, "default": "NO", "enum": [ "YES", "NO" ], "type": "string" }, "ALLOWED_SQLCODES": { "label": "What warnings and errors to ignore", "description": "ALLOWED_SQLCODES_DESC specifies the SQL warnings and errors to ignore during preparation and execution", "type": "array", "items": { "type": "string" } }, "OPTIMIZE_DATETIME": { "label": null, "description": null, "default": "YES", "enum": [ "YES", "NO" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "USER": { "label": "User", "description": "USER specifies the Netezza user name (also called the user ID) that you use to connect to your database", "aliases": [ "UID" ], "type": "string", "pattern": "^\".?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "PWD": { "label": "Password", "description": "PASSWORD specifies the password that is associated with your Netezza user name", "aliases": [ "PASSWORD", "PW", "PASS" ], "type": "string", "pattern": "^\".?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "DATASRC": { "label": "ODBC datasourc", "description": "DATASRC specify the configured Netezza ODBC datasource to which you want to connect", "aliases": [ "DS", "DSN" ], "type": "string", "pattern": "^\".?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "DATABASE": { "label": "Database", "description": "DATABASE specifies the name of the database on the Netezza Performance Server", "aliases": [ "DB" ], "type": "string", "pattern": "^\".?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "SERVER": { "label": "Server", "description": "SERVER specifies the server or IP address of the Netezza performance server to which you want to connect", "type": "string", "pattern": "^\".?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "SQL_FUNCTIONS": { "label": "Pass functions to the DBMS that match those supported by SAS", "description": "SQL_FUNCTIONS (new for 9.0) specifies that functions that match those that are supported by SAS should be passed to the DBMS", "type": "string" }, "IGNORE_READ_ONLY_COLUMNS": { "label": "Specify the value for IGNORE_READ_ONLY_COLUMNS", "description": "IGNORE_READ_ONLY_COLUMNS Specifies whether to ignore or include columns whose data types are read-only when generating an SQL statement for inserts or updates", "default": "NO", "aliases": [ "IGNORE_READONLY" ], "enum": [ "YES", "NO" ], "type": "string" }, "LOGIN_TIMEOUT": { "label": "Login timeout, in seconds", "description": "LOGIN_TIMEOUT specifies how long the ODBC driver waits to make a connection before returning to the application", "type": "integer", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "AUTOCOMMIT": { "label": "Whether to COMMIT immediately after a transaction", "description": "AUTOCOMMIT indicates whether updates are committed immediately after they are submitted", "default": "NO", "enum": [ "YES", "NO" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "READBUFF": { "label": "Block read buffer size", "description": "READBUFF specifies the number of rows in a single fetch", "aliases": [ "ROWSET", "ROWSET_SIZE" ], "type": "integer", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "SCHEMA": { "label": "Xchema name", "description": "Specifies the schema name", "aliases": [ "OWNER" ], "type": "string" }, "QUALIFIER": { "label": "User-defined qualifier to identify an object", "description": "QUALIFIER allows identification of such database objects as tables and views with the specified qualifier", "type": "string" }, "DUMMY_CONNECT": { "label": null, "description": null, "default": "NO", "enum": [ "YES", "NO" ], "type": "string" }, "CONNECT_OPTIONS": { "label": null, "description": null, "aliases": [ "CONOPTS" ], "type": "string", "pattern": "^\".?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "BULKUNLOAD": { "label": "Whether to call the Remote External Table interface to retrieve data from the server.", "description": "BULDUNLOAD specifies whether to rapidly retrieves (fetches) a large number of rows from a data set", "default": "NO", "enum": [ "YES", "NO" ], "type": "string" }, "QUERY_TIMEOUT": { "label": "Number of seconds to wait before canceling query", "description": "QUERY_TIMEOUT specifies the number of seconds of inactivity to wait before canceling a query", "aliases": [ "TIMEOUT" ], "type": "integer", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "TRACE": { "label": "Whether to trace debugging options", "description": "TRACE specifies whether to turn on tracing information that is used in debugging", "enum": [ "YES", "NO" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "TRACEFILE": { "label": "Trace output filename", "description": "TRACEFILE specifies the filename to which the DBMS driver manager writes trace information", "type": "string", "pattern": "^\".*?\"$", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "QUOTE_CHAR": { "label": "Quotation mark character for delimiting identifiers", "description": "QUOTE_CHAR specifies which quotation mark character to use when delimiting identifiers", "type": "string" }, "PORT": { "label": "Port", "description": "PORT specifies the name of the database on the Netezza Performance Server", "default": "5480", "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "READ_ONLY": { "label": "Read Only", "description": "READ_ONLY specifies whether to connect to the Netezza database in read-only mode(YES) or read-write(NO) mode", "default": "NO", "aliases": [ "READONLY" ], "enum": [ "YES", "NO" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "SHOW_SYSTEM": { "label": null, "description": null, "default": "NO", "aliases": [ "SHOWSYSTEM", "SHOW_SYSTEM_TABLES", "SHOWSYSTEMTABLES" ], "enum": [ "YES", "NO" ], "type": "string" }, "INSERTBUFF": { "label": "Block insert buffer size", "description": "INSERTBUFF specifies the number of rows in a single insert", "default": 1, "type": "integer" }, "DISTRIBUTE": { "label": null, "description": null, "aliases": [ "DISTRIBUTE_ON" ], "type": "string" }, "STRINGDATES": { "label": "Whether to read dates or times as character strings", "description": "STRINGDATES specifies whether to read date and time values from the database as character strings or as numeric date values", "default": "NO", "aliases": [ "STRDATES" ], "enum": [ "YES", "NO" ], "type": "string", "tags": [ "DBI_PASSTHRU_OPTION" ] }, "CHAR_AS_NCHAR": { "label": "Whether to use NCHAR oR NVARCHAR as the default column type", "description": "CHAR_AS_NCHAR specifies the default character type to use for table columns", "default": "NO", "enum": [ "YES", "NO" ], "type": "string" }, "SYNONYMS": { "label": "Whether to show only table and view synonyms", "description": "SHOW_SYNONYMS specifies whether to show only synonyms for tables and views for the current user or schema", "aliases": [ "SHOW_SYNONYMS" ], "enum": [ "YES", "NO" ], "type": "string" } } } } }

    application/vnd.sas.data.source.definition

    Add Engines Collection.

    The application/vnd.sas.data.source.definition media type describes the complete details of a data source definition.

    Relation Method Description
    self GET Returns a link to the full or complete representation of the data source definition.
    URI: /dataSources/providers/{providerId}/sourcesDefinitions/{sourceDefinitionId}
    Type: application/vnd.sas.data.source.definition
    up GET Returns a link to the collection of all engines for the data source definition.
    URI: /dataSources/providers/{providerId}/sourcesDefinitions/{sourceDefinitionId}
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.source.definition
    export GET Returns the transfer data of the data source definition.
    URI: /dataSources/providers/{providerId}/sourcesDefinitions/{sourceDefinitionId}
    Type: application/vnd.sas.transfer.object
    provider GET Returns a link to the provider for the data source definition.
    URI: /dataSources/providers/{providerId}
    Type: application/vnd.sas.data.provider
    update PUT Returns a link to update the data source definition.
    URI: /dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}
    Type: application/vnd.sas.data.source.definition
    import PUT Imports the provided transfer data to update an existing data source definition or create a new one with the given ID.
    URI: /dataSources/providers/{providerId}/sourcesDefinitions/{sourceDefinitionId}
    Type: application/vnd.sas.transfer.object
    Item type: application/vnd.sas.summary
    delete DELETE Returns a link to delete the data source definition.
    URI: /dataSources/providers/{providerId}/sourceDefinitions/{sourceDefinitionId}
    Members
    Name Type Description
    version integer Returns the media type's schema version number. This representation is version 1.
    id string Returns the unique identifier of this data source definition
    name string Returns the non-unique name of this data source definition
    description string Returns the data source definition's description
    providerId string Returns the unique identifier of this data source definition's provider.
    dataSourceId string Returns the unique identifier of this data source definition's associated data source.
    attributes object Returns an object containing name/value pairs where the values might be any type, such as a number, string, object, or array.
    links array of link objects Returns links that apply to related resources or operations. See the above link relations table for a description of the link types.
    application/vnd.sas.data.source.definition+json

    { "creationTimeStamp": "2017-04-12T13:29:14.212Z", "modifiedTimeStamp": "2017-04-12T13:29:14.212Z", "createdBy": "bob", "modifiedBy": "bob", "id": "ea1a9f8a-5013-4c89-8298-78c95659782e", "name": "sourceDefName1", "providerId": "Compute", "description": "my description", "dataSourceId": "myComputeContext", "attributes": { "key1": "value1", "key2": "value2", "key3": "value3", "key4": "value4", "key5": "value5", "key6": "value6", "key7": "value7", "key8": "value8", "key9": "value9", "key10": "value10" }, "version": 1, "links": [ { "method": "GET", "rel": "self", "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e", "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e", "type": "application/vnd.sas.data.source.definition" }, { "method": "PUT", "rel": "update", "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e", "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e", "type": "application/vnd.sas.data.source.definition" }, { "method": "DELETE", "rel": "delete", "href": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e", "uri": "/dataSources/providers/Compute/sourceDefinitions/ea1a9f8a-5013-4c89-8298-78c95659782e" }, { "method": "GET", "rel": "up", "href": "/dataSources/providers/Compute/sourceDefinitions", "uri": "/dataSources/providers/Compute/sourceDefinitions", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.source.definition" }, { "method": "GET", "rel": "provider", "href": "/dataSources/providers/Compute", "uri": "/dataSources/providers/Compute", "type": "application/vnd.sas.data.provider" } ] }

    Error Codes

    This API uses the standard error response type, application/vnd.sas.error, to handle propagating all error messages and codes to the consumer.

    The range of error codes assigned to the Data Sources microservice REST API is:

    The following list contains the set of error codes that are used in certain error conditions.

    HTTP Status Code Error Code Description
    400 11901 The sortBy query parameter is not supported by this provider on this endpoint.
    400 11902 The filter query parameter is not supported by this provider on this endpoint.
    404 11900 The provider was not found.
    501 11903 The provider service does not support this action.
    501 11904 The provider does not support source definitions.

    Data Tables

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    The Data Tables API works in concert with the Data Sources and Row Sets APIs to navigate, reference, and retrieve data in the SAS Viya ecosystem. The Data Tables API enables retrieval of metadata for data tables and their respective columns.

    Base URLs:

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataTables/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.api+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.api+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.api+json'
    }
    
    r = requests.get('https://www.example.com/dataTables/', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /

    Returns a collection of links to the top-level collections surfaced through this API. HEAD is also supported.

    Example responses

    200

    {
      "version": 1,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    Status Meaning Description Schema
    200 OK The request succeeded. Inline

    Get header information for the service

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataTables/
    
    
    
    $.ajax({
      url: 'https://www.example.com/dataTables/',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/dataTables/', params={
    
    )
    
    print r.json()
    
    

    HEAD /

    Retrieves header information for the service. It can also be used to verify that the service is available.

    Responses

    Status Meaning Description Schema
    200 OK The service is available. None

    Get a collection of tables

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataTables/dataSources/{dataSourceId}/tables \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Item: application/vnd.sas.data.table+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Item':'application/vnd.sas.data.table+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json',
      'Accept-Item': 'application/vnd.sas.data.table+json'
    }
    
    r = requests.get('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /dataSources/{dataSourceId}/tables

    Returns a collection of tables available from the named data source as application/vnd.sas.data.table or application/vnd.sas.data.table.summary resources. Standard paging, filtering, and sorting options are specified in the Parameters section below.

    Parameters

    Parameter In Type Required Description
    Accept-Item header string false The desired column representation.
    The Accept-Item options are:
    • application/vnd.sas.data.table+json
    • application/vnd.sas.data.table.summary+json
    • blank
    If the application/vnd.sas.data.table+json type is specified or there is no Accept-Item header, the tables are returned as the complete representation table objects.
    dataSourceId path string true The name of the data source.
    start query integer false The starting index of the first table in a page. Defaults to 0.
    limit query integer false The maximum number of tables to return in this page of results. The actual number of returned tables might be less if the collection has been exhausted. Defaults to 10.
    filter query string(filter-criteria) false Filter criteria for returned tables.
    The valid filter fields are name and type if supported by the provider. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries:
    • Search by name starting with: .../{dataSourceId}/tables?filter=startsWith(name, 'tab')
    • Search by name: .../{dataSourceId}/tables?filter=eq(name, 'table1')
    • Search for multiple tables: .../{dataSourceId}/tables?filter=in(name, 'table1', 'table2', 'table3')
    sortBy query string(sort-criteria) false Sort returned tables. The sort criteria supports the following fields in either ascending or descending order (name, type, createdBy, modifiedBy, creationTimeStamp and modifiedTimeStamp). Some sample sorts:
    • Sort ascending by table name: .../{dataSourceId}/tables?sortBy=name:ascending
    • Sort descending by table name: .../{dataSourceId}/tables?sortBy=name:descending
    The default sort is by name in ascending order.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This has effect only when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided, the session created by the data service provider is not be terminated. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false, or not specified, the session is be terminated after the request is complete. The default is false.

    Enumerated Values

    Parameter Value
    Accept-Item application/vnd.sas.data.table+json
    Accept-Item application/vnd.sas.data.table.summary+json

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.table"
        },
        {
          "method": "GET",
          "rel": "next",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f&start=10&limit=10",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f&start=10&limit=10",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "last",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f&start=730&limit=1",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f&start=730&limit=1",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?start=0&limit=10",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.table"
        },
        {
          "method": "GET",
          "rel": "sessionScoped",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f&start=0&limit=1",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f&start=0&limit=1",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.table"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataSources/providers/cas/sources/cas~fs~cas~fs~CASTestTmp?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataSources/providers/cas/sources/cas~fs~cas~fs~CASTestTmp?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.source"
        },
        {
          "method": "GET",
          "rel": "session",
          "href": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.session"
        }
      ],
      "name": "tables",
      "accept": "application/vnd.sas.data.table application/vnd.sas.data.table.summary",
      "version": 2,
      "count": 730,
      "start": 0,
      "limit": 1,
      "items": [
        {
          "name": "AIRLINES",
          "providerId": "cas",
          "dataSourceId": "CASTestTmp",
          "type": "table",
          "creationTimeStamp": "2016-04-15T10:22:31.000Z",
          "modifiedTimeStamp": "2016-04-15T10:22:31.000Z",
          "attributes": {
            "loaded": true,
            "characterSet": "UTF8",
            "global": true,
            "caslibId": "CASTestTmp",
            "rowCount": 6048,
            "columnCount": 8,
            "sessionId": "6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
            "encoding": "utf-8",
            "serverId": "cas"
          },
          "version": 1,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
              "type": "application/vnd.sas.data.table"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
              "type": "application/vnd.sas.data.table.summary"
            },
            {
              "method": "GET",
              "rel": "connectionAttributes",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
              "type": "application/vnd.sas.attributes"
            },
            {
              "method": "GET",
              "rel": "sessionScoped",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.table"
            },
            {
              "method": "GET",
              "rel": "session",
              "href": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.session"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.table"
            },
            {
              "method": "GET",
              "rel": "source",
              "href": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.source"
            },
            {
              "method": "GET",
              "rel": "rows",
              "href": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rows?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rows?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.row"
            },
            {
              "method": "GET",
              "rel": "rowSet",
              "href": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rowSet?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rowSet?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.row.set"
            },
            {
              "method": "GET",
              "rel": "columns",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.column.summary"
            },
            {
              "method": "GET",
              "rel": "provider",
              "href": "/dataTables/providers/cas",
              "uri": "/dataTables/providers/cas",
              "type": "application/vnd.sas.data.provider"
            },
            {
              "method": "GET",
              "rel": "dataSource",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.source"
            }
          ]
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. tableCollection
    400 Bad Request An invalid request was made in one of the following scenarios:
    • A negative start value is provided.
    • A negative limit value is provided.
    • A non-existent or unsupported field is specified in the sortBy parameter.
    error
    404 Not Found The data source does not exist. None
    501 Not Implemented One of the following query parameters is not supported by the provider service (parameter - errorCode):
    • sortBy - 12001
    • filter - 12002
    error

    Create a new table

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/dataTables/dataSources/{dataSourceId}/tables \
      -H 'Content-Type: application/vnd.sas.data.table.request+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.table.job+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.data.table.request+json',
      'Accept':'application/vnd.sas.data.table.job+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Content-Type': 'application/vnd.sas.data.table.request+json',
      'Accept': 'application/vnd.sas.data.table.job+json'
    }
    
    r = requests.post('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    POST /dataSources/{dataSourceId}/tables

    Creates a new table. If the Content-Type header is set to application/json, it maps to the application/vnd.ssa.data.table.request+json media type.

    Body parameter

    {
      "sourceArguments": {
        "property1": {
          "casServer": "string",
          "caslib": "string",
          "tablePath": "string",
          "includedColumns": [
            {
              "name": "string"
            }
          ],
          "filter": "string",
          "encryptionPassword": "string"
        },
        "property2": {
          "casServer": "string",
          "caslib": "string",
          "tablePath": "string",
          "includedColumns": [
            {
              "name": "string"
            }
          ],
          "filter": "string",
          "encryptionPassword": "string"
        }
      },
      "targetArguments": {
        "property1": {
          "tableName": "string",
          "label": "string",
          "replace": [
            {
              "name": "string"
            }
          ]
        },
        "property2": {
          "tableName": "string",
          "label": "string",
          "replace": [
            {
              "name": "string"
            }
          ]
        }
      },
      "version": 0
    }
    

    Parameters

    Parameter In Type Required Description
    dataSourceId path string true The name of the data source.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    wait query number(float) false This service implements "long poll", how long to wait for an update before returning anyway, in floating point seconds. The maximum is 30 seconds.
    body body tableRequestCasSasHdat true The table create request details to use for creating the table.

    Example responses

    201

    {
      "id": "string",
      "providerId": "string",
      "type": "create",
      "state": "pending",
      "error": {
        "message": "string",
        "id": "string",
        "errorCode": 0,
        "httpStatusCode": 0,
        "details": [
          "string"
        ],
        "remediation": "string",
        "errors": [
          null
        ],
        "links": [
          {
            "method": "string",
            "rel": "string",
            "uri": "string",
            "href": "string",
            "title": "string",
            "type": "string",
            "itemType": "string",
            "responseType": "string",
            "responseItemType": "string"
          }
        ],
        "version": 0
      },
      "duration": 0,
      "creationTimeStamp": "string",
      "modifiedTimeStamp": "string",
      "endTimeStamp": "string",
      "createdBy": "string",
      "modifiedBy": "string",
      "attributes": {},
      "version": 0,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    201 Created Created. The requested table has both been created, and its respective job is in a terminal state (one of "completed", "canceled", "timedOut", "failed"). tableJob
    202 Accepted Accepted. The table creation has not completed. tableJob
    400 Bad Request Bad request (the request is not well formed). error
    404 Not Found Not found - typically the data source could not be found. error
    Response Headers
    Status Header Type Format Description
    201 Location string location of the completed job.
    202 Location string location of the running job.

    Upload a file

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/dataTables/dataSources/{dataSourceId}/tables#upload \
      -H 'Content-Type: multipart/form-data' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.table.job+json' \
      -H 'Content-Item-Type: application/vnd.sas.data.table.cas.sashdat.request+json'
    
    
    var headers = {
      'Content-Type':'multipart/form-data',
      'Accept':'application/vnd.sas.data.table.job+json',
      'Content-Item-Type':'application/vnd.sas.data.table.cas.sashdat.request+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables#upload',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Content-Type': 'multipart/form-data',
      'Accept': 'application/vnd.sas.data.table.job+json',
      'Content-Item-Type': 'application/vnd.sas.data.table.cas.sashdat.request+json'
    }
    
    r = requests.post('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables#upload', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    POST /dataSources/{dataSourceId}/tables#upload

    Creates a new table from an uploaded file. Note that this operation is synchronous, and blocks until the file upload is complete. It returns an application/vnd.sas.data.table.job+json resource when the upload succeeds or fails.

    Body parameter

    tableRequest: string
    file: string
    
    

    Parameters

    Parameter In Type Required Description
    dataSourceId path string true The name of the data source.
    Content-Item-Type header string true The media type of the form data tableRequest member.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    body body object false
    » tableRequest body string true The list of job parameters passed in application/vnd.sas.data.table.request+json format.
    » file body string(binary) true The multi-part request file to use when creating the new table.

    Enumerated Values

    Parameter Value
    Content-Item-Type application/vnd.sas.data.table.cas.sashdat.request+json
    Content-Item-Type application/vnd.sas.data.table.cas.data.set.request+json
    Content-Item-Type application/vnd.sas.data.table.cas.delimited.request+json
    Content-Item-Type application/vnd.sas.data.table.cas.excel.request+json

    Example responses

    201

    {
      "id": "string",
      "providerId": "string",
      "type": "create",
      "state": "pending",
      "error": {
        "message": "string",
        "id": "string",
        "errorCode": 0,
        "httpStatusCode": 0,
        "details": [
          "string"
        ],
        "remediation": "string",
        "errors": [
          null
        ],
        "links": [
          {
            "method": "string",
            "rel": "string",
            "uri": "string",
            "href": "string",
            "title": "string",
            "type": "string",
            "itemType": "string",
            "responseType": "string",
            "responseItemType": "string"
          }
        ],
        "version": 0
      },
      "duration": 0,
      "creationTimeStamp": "string",
      "modifiedTimeStamp": "string",
      "endTimeStamp": "string",
      "createdBy": "string",
      "modifiedBy": "string",
      "attributes": {},
      "version": 0,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    201 Created Created. The requested table has both been created, and its respective job is in a terminal state (one of "completed", "canceled", "timedOut", "failed"). tableJob
    400 Bad Request Bad request (the request is not well formed). error
    404 Not Found Not found - typically the data source could not be found. error
    Response Headers
    Status Header Type Format Description
    201 Location string location of the completed job.

    Get a table

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.table+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.table+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.table+json'
    }
    
    r = requests.get('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /dataSources/{dataSourceId}/tables/{tableId}

    Returns information about a single table based on its unique name.

    Parameters

    Parameter In Type Required Description
    dataSourceId path string true The name of the data source.
    tableId path string true The URL encoded (i.e. Percent encoded) form of the table's name.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This has effect only when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided, the session created by the data service provider is not be terminated. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false, or not specified, the session is be terminated after the request is complete. The default is false.

    Example responses

    200

    {
      "name": "AIRLINES",
      "label": "Airlines",
      "providerId": "cas",
      "dataSourceId": "CASTestTmp",
      "type": "table",
      "creationTimeStamp": "2016-04-15T10:22:31.000Z",
      "modifiedTimeStamp": "2016-04-15T10:22:31.000Z",
      "attributes": {
        "loaded": true,
        "characterSet": "UTF8",
        "global": true,
        "caslibId": "CASTestTmp",
        "rowCount": 6048,
        "columnCount": 8,
        "sessionId": "6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
        "encoding": "utf-8",
        "serverId": "cas"
      },
      "version": 1,
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
          "type": "application/vnd.sas.data.table"
        },
        {
          "method": "GET",
          "rel": "alternate",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
          "type": "application/vnd.sas.data.table.summary"
        },
        {
          "method": "GET",
          "rel": "connectionAttributes",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES",
          "type": "application/vnd.sas.attributes"
        },
        {
          "method": "GET",
          "rel": "sessionScoped",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.table"
        },
        {
          "method": "GET",
          "rel": "session",
          "href": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.session"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.table"
        },
        {
          "method": "GET",
          "rel": "source",
          "href": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.source"
        },
        {
          "method": "GET",
          "rel": "rows",
          "href": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rows?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rows?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.row"
        },
        {
          "method": "GET",
          "rel": "rowSet",
          "href": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rowSet?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rowSet?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.row.set"
        },
        {
          "method": "GET",
          "rel": "columns",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.column.summary"
        },
        {
          "method": "GET",
          "rel": "provider",
          "href": "/dataTables/providers/cas",
          "uri": "/dataTables/providers/cas",
          "type": "application/vnd.sas.data.provider"
        },
        {
          "method": "GET",
          "rel": "dataSource",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.source"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. table
    404 Not Found One of the following resources does not exist:
    • The data source
    • The table
    error

    Return the headers that the corresponding GET returns

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.table+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.table+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.table+json'
    }
    
    r = requests.head('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /dataSources/{dataSourceId}/tables/{tableId}

    Return the headers that the corresponding GET returns. You can use this to determine whether a table exists.

    Parameters

    Parameter In Type Required Description
    dataSourceId path string true The name of the dataTableProvider.
    tableId path string true The URL encoded (i.e. Percent encoded) form of the table's name.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This has no effect when specified for a HEAD request due to the inability to return the session as a link. This has effect only when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided, the session created by the data service provider is not terminated. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false, or not specified, the session is destroyed after the request is complete. The default is false.

    Example responses

    404

    {
      "message": "string",
      "id": "string",
      "errorCode": 0,
      "httpStatusCode": 0,
      "details": [
        "string"
      ],
      "remediation": "string",
      "errors": [
        null
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The table exists. None
    404 Not Found One of the following resources does not exist:
    • The data source
    • The table
    error

    Delete a table

    Code samples

    # You can also use wget
    curl -X DELETE https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.table.job+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.table.job+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}',
      method: 'delete',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.table.job+json'
    }
    
    r = requests.delete('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    DELETE /dataSources/{dataSourceId}/tables/{tableId}

    Deletes a table resource.

    Parameters

    Parameter In Type Required Description
    dataSourceId path string true The name of the data source.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    wait query number(float) false This service implements "long poll", how long to wait for an update before returning anyway, in floating point seconds. The maximum is 30 seconds.
    soft query boolean false True to perform a soft delete (such as a CAS table unload), false for a hard delete.

    Example responses

    202

    {
      "id": "string",
      "providerId": "string",
      "type": "create",
      "state": "pending",
      "error": {
        "message": "string",
        "id": "string",
        "errorCode": 0,
        "httpStatusCode": 0,
        "details": [
          "string"
        ],
        "remediation": "string",
        "errors": [
          null
        ],
        "links": [
          {
            "method": "string",
            "rel": "string",
            "uri": "string",
            "href": "string",
            "title": "string",
            "type": "string",
            "itemType": "string",
            "responseType": "string",
            "responseItemType": "string"
          }
        ],
        "version": 0
      },
      "duration": 0,
      "creationTimeStamp": "string",
      "modifiedTimeStamp": "string",
      "endTimeStamp": "string",
      "createdBy": "string",
      "modifiedBy": "string",
      "attributes": {},
      "version": 0,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    202 Accepted Accepted. The table deletion has not completed. tableJob
    204 No Content Created. The requested table has both been deleted, and its respective job is in the "completed" state. None
    400 Bad Request Bad request (the request is not well formed). error
    404 Not Found Not found - typically the data source could not be found. error
    Response Headers
    Status Header Type Format Description
    202 Location string location of the running job.
    204 Location string location of the completed job.

    Get the table job

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataTables/jobs/{jobId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.table.job+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.table.job+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/jobs/{jobId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.table.job+json'
    }
    
    r = requests.get('https://www.example.com/dataTables/jobs/{jobId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /jobs/{jobId}

    Get the specified job, which tracks asynchronous table creation or deletion processes.

    Parameters

    Parameter In Type Required Description
    jobId path string true The ID of the job
    wait query number(float) false This service implements "long poll", how long to wait for the job to complete before returning anyway, in floating point seconds. The maximum is 30 seconds.

    Example responses

    200

    {
      "id": "string",
      "providerId": "string",
      "type": "create",
      "state": "pending",
      "error": {
        "message": "string",
        "id": "string",
        "errorCode": 0,
        "httpStatusCode": 0,
        "details": [
          "string"
        ],
        "remediation": "string",
        "errors": [
          null
        ],
        "links": [
          {
            "method": "string",
            "rel": "string",
            "uri": "string",
            "href": "string",
            "title": "string",
            "type": "string",
            "itemType": "string",
            "responseType": "string",
            "responseItemType": "string"
          }
        ],
        "version": 0
      },
      "duration": 0,
      "creationTimeStamp": "string",
      "modifiedTimeStamp": "string",
      "endTimeStamp": "string",
      "createdBy": "string",
      "modifiedBy": "string",
      "attributes": {},
      "version": 0,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. tableJob
    404 Not Found Not found. error

    Returns the headers that the corresponding GET returns

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataTables/jobs/{jobId}/state \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: text/plain'
    
    
    var headers = {
      'Accept':'text/plain'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/jobs/{jobId}/state',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'text/plain'
    }
    
    r = requests.head('https://www.example.com/dataTables/jobs/{jobId}/state', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /jobs/{jobId}/state

    Returns the headers that the corresponding GET returns. You can use this to determine whether the job exists.

    Parameters

    Parameter In Type Required Description
    jobId path string true the jobId

    Example responses

    404

    Responses

    Status Meaning Description Schema
    200 OK the state. None
    404 Not Found Not found. error
    Response Headers
    Status Header Type Format Description
    200 Content-Type string The content type of the response, text/plain.

    Get the state of the specified job

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataTables/jobs/{jobId}/state \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: text/plain'
    
    
    var headers = {
      'Accept':'text/plain'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/jobs/{jobId}/state',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'text/plain'
    }
    
    r = requests.get('https://www.example.com/dataTables/jobs/{jobId}/state', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /jobs/{jobId}/state

    Get the state of the specified job

    Parameters

    Parameter In Type Required Description
    jobId path string true the jobId

    Example responses

    404

    Responses

    Status Meaning Description Schema
    200 OK the state. None
    404 Not Found Not found. error
    Response Headers
    Status Header Type Format Description
    200 Content-Type string The content type of the response, text/plain.

    Get a collection of columns

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Item: application/vnd.sas.data.column.summary+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Item':'application/vnd.sas.data.column.summary+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.collection+json',
      'Accept-Item': 'application/vnd.sas.data.column.summary+json'
    }
    
    r = requests.get('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /dataSources/{dataSourceId}/tables/{tableId}/columns

    Returns a collection of column resources. Standard paging, filtering and sorting options are specified in the Parameters section below.

    Parameters

    Parameter In Type Required Description
    Accept-Item header string false The desired column representation.
    The Accept-Item options are:
    • application/vnd.sas.data.column.summary+json
    • application/vnd.sas.data.column+json
    • blank
    If the application/vnd.sas.data.column.summary+json type is specified, or there is no Accept-Item header, the columns are returned as summary representation column objects. In this case, the column contains the following properties: name, type, rawLength, formattedLength, links.
    dataSourceId path string true The name of the data source.
    tableId path string true The URL encoded (i.e. Percent encoded) form of the table's name.
    start query integer false The starting index of the first column in a page. Defaults to 0.
    limit query integer false The maximum number of columns to return in this page of results. The actual number of returned columns might be less if the collection has been exhausted. Defaults to 25.
    filter query string(filter-criteria) false Filter criteria for returned columns.
    The valid filter fields are name and type if supported by the provider. The supported functions are and, or, not, eq, lt, le, gt, ge, contains, startsWith, endsWith, and isNull. Some sample queries:
    • Search by name starting with: .../tables/{tableId}/columns?filter=startsWith(name, 'col')
    • Search by name: .../tables/{tableId}/columns?filter=eq(name, 'column1')
    • Search for multiple tables: .../tables/{tableId}/columns?filter=in(name, 'column1', 'column2', 'column3')
    sortBy query string(sort-criteria) false Sort returned tables. The sort criteria supports the following fields in either ascending or descending order (index, name, type). Some sample sorts:
    • Sort ascending by table name: .../tables/{tableId}/columns?sortBy=name:ascending
    • Sort descending by table name: .../tables/{tableId}/columns?sortBy=name:descending
    The default sort is by name in ascending index.
    excludeItemLinks query boolean false Set to true to remove the links from the returned column items. Defaults to false.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This has effect only when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided, the session created by the data service provider is not be terminated. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false, or not specified, the session is be terminated after the request is complete. The default is false.

    Enumerated Values

    Parameter Value
    Accept-Item application/vnd.sas.data.column.summary+json
    Accept-Item application/vnd.sas.data.column+json

    Example responses

    200

    {
      "links": [
        {
          "method": "GET",
          "rel": "collection",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.column.summary"
        },
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?start=0&limit=10",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.column.summary"
        },
        {
          "method": "GET",
          "rel": "sessionScoped",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f&start=0&limit=10",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f&start=0&limit=10",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.column.summary"
        },
        {
          "method": "GET",
          "rel": "session",
          "href": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.session"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
          "type": "application/vnd.sas.data.table"
        }
      ],
      "name": "columns",
      "accept": "application/vnd.sas.data.column.summary application/vnd.sas.data.column",
      "count": 8,
      "start": 0,
      "limit": 25,
      "items": [
        {
          "name": "AIRLINE ID",
          "index": 0,
          "type": "double",
          "rawLength": 8,
          "formattedLength": 12,
          "version": 1,
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/AIRLINE%20ID",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/AIRLINE%20ID",
              "type": "application/vnd.sas.data.column"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/AIRLINE%20ID",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/AIRLINE%20ID",
              "type": "application/vnd.sas.data.column.summary"
            },
            {
              "method": "GET",
              "rel": "sessionScoped",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/AIRLINE%20ID?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/AIRLINE%20ID?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.column"
            },
            {
              "method": "GET",
              "rel": "session",
              "href": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataSources/providers/cas/sources/cas/sessions/6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.session"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/AIRLINE%20ID?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/AIRLINE%20ID?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.column.summary"
            },
            {
              "method": "GET",
              "rel": "up",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.data.column.summary"
            },
            {
              "method": "GET",
              "rel": "table",
              "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES?sessionId=6a5ebbb5-0f3a-0a4d-a433-17e44f65e34f",
              "type": "application/vnd.sas.data.table"
            }
          ]
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. columnSummaryCollection
    400 Bad Request An invalid request was made in one of the following scenarios:
    • A negative start value is provided.
    • A negative limit value is provided.
    • A non-existent or unsupported field is specified in the sortBy parameter.
    error
    404 Not Found One of the following resources does not exist:
    • The data source
    • The table
    error
    501 Not Implemented One of the following query parameters is not supported by the provider service (parameter - errorCode):
    • sortBy - 12001
    • filter - 12002
    error

    Get a column

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns/{columnId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.table.column+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.table.column+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns/{columnId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.table.column+json'
    }
    
    r = requests.get('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns/{columnId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /dataSources/{dataSourceId}/tables/{tableId}/columns/{columnId}

    Returns information about a single column based on its unique name.

    Parameters

    Parameter In Type Required Description
    dataSourceId path string true The name of the data source.
    tableId path string true The URL encoded (i.e. Percent encoded) form of the table's name.
    columnId path string true The URL encoded (i.e. Percent encoded) form of the column's name.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This has effect only when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided, the session created by the data service provider is not be terminated. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false, or not specified, the session is be terminated after the request is complete. The default is false.

    Example responses

    200

    {
      "name": "Airline ID",
      "type": "double",
      "index": 1,
      "rawLength": 8,
      "formattedLength": 12,
      "version": 1,
      "format": {
        "name": "string",
        "rawLength": 0,
        "decimals": 0
      },
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID",
          "type": "application/vnd.sas.data.column"
        },
        {
          "method": "GET",
          "rel": "alternate",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID",
          "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID",
          "type": "application/vnd.sas.data.column.summary"
        },
        {
          "method": "GET",
          "rel": "up",
          "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns",
          "uri": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.data.column"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. column
    404 Not Found One of the following resources does not exist:
    • The data source
    • The table
    • The column
    error

    Return the headers that the corresponding GET returns

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns/{columnId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.column+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.column+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns/{columnId}',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.column+json'
    }
    
    r = requests.head('https://www.example.com/dataTables/dataSources/{dataSourceId}/tables/{tableId}/columns/{columnId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    HEAD /dataSources/{dataSourceId}/tables/{tableId}/columns/{columnId}

    Return the headers that the corresponding GET returns. You can use this to determine whether the column exists.

    Parameters

    Parameter In Type Required Description
    dataSourceId path string true The name of the data source.
    tableId path string true The URL encoded (i.e. Percent encoded) form of the table's name.
    columnId path string true The URL encoded (i.e. Percent encoded) form of the column's name.
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this is not specified, the data service provider creates a temporary session, and then terminates it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This has no effect when specified for a HEAD request due to the inability to return the session as a link. This has effect only when the sessionId query parameter is not specified. If this is set to true, no sessionId is provided, the session created by the data service provider is not terminated. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false, or not specified, the session is destroyed after the request is complete. The default is false.

    Example responses

    404

    {
      "message": "string",
      "id": "string",
      "errorCode": 0,
      "httpStatusCode": 0,
      "details": [
        "string"
      ],
      "remediation": "string",
      "errors": [
        null
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The column exists. None
    404 Not Found One of the following resources does not exist:
    • The data source
    • The table
    • The column
    error

    Schemas

    table

    Properties

    Table

    Name Type Required Description
    providerId string false The table provider name.
    dataSourceId string false The parent source name.
    name string false The unique name of the table.
    label string false The user visible name of this table. This value might vary depending on the Accept-Language header.
    type string false The type of this table.
    createdBy string false The user who created this table.
    modifiedBy string false The last user to modify this table.
    attributes object false Additional provider-specific attributes.
    creationTimeStamp string(date-time) false Timestamp of table creation, in yyyy-mm-ddThh:mm:ssZ format.
    modifiedTimeStamp string(date-time) false Timestamp of last table modification, in yyyy-mm-ddThh:mm:ssZ format.
    version integer false The table schema version.
    links [any] false The links that apply to this table.
    » Link object false A link to a related operation or resource.
    »» method string false The HTTP method for the link.
    »» rel string true The relationship of the link to the resource.
    »» uri string false The relative URI for the link.
    »» href string false The URL for the link.
    »» title string false The title for the link.
    »» type string false The media type or link type for the link.
    »» itemType string false If this is a link to a container, itemType is the media type or link type for the items in the container.
    »» responseType string false The media type or link type of the response body for a PUT, POST, or PATCH operation.
    »» responseItemType string false The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.

    tableCollection

    Properties

    Table Collection

    allOf

    Name Type Required Description
    anonymous object false 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)
    » name string false The name of the collection.
    » start integer(int64) false The zero-based index of the first item in the collection.
    » limit integer false The number of items that were requested for the collection.
    » count integer(int64) false The number of items in the collection.
    » accept string false A space-delimited list of media types from which an Accept header may be constructed.
    » links [links] false The links that apply to the collection.
    » version integer false The version number of the collection representation. This representation is version 2.

    and

    Name Type Required Description
    anonymous object false
    » items [table] true An array that contains Table resources.

    column

    Properties

    Column

    Name Type Required Description
    Column columnSummary false Information about a column.
    format object false The format of the column represented as the following object.
    » additionalProperties format false The resource that represents the format of a column.
    informat object false The informat of the column represented as the following object
    » additionalProperties informat false The resources that represent the informat of the column.
    attributes object false The attributes for this column.
    » additionalProperties object false
    version integer false The column schema version.
    links [links] false The links that apply to the column.

    columnSummary

    Properties

    Column Summary

    Name Type Required Description
    name string false The unique name of the column.
    label string false The localized name of this column. This value might vary depending on the Accept-Language header.
    index integer false The column's 0-based index if this is supported by the provider data service. If it is unsupported, it is omitted.
    type string false The type of the column.
    rawLength integer false The raw rawLength of the column.
    formattedLength integer false The formatted rawLength of the column.
    version integer false The column schema version.
    links [links] false The links that apply to the column.

    columnSummaryCollection

    Properties

    Column Summary Collection

    allOf

    Name Type Required Description
    anonymous tableCollection false 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)

    and

    Name Type Required Description
    anonymous object false
    » items [columnSummary] true An array that contains Column resources.

    format

    Properties

    Format

    Name Type Required Description
    name string false The format name of the column.
    rawLength integer false The rawLength of the column format.
    decimals integer false The number of decimals in the column format.

    informat

    Properties

    Informat

    Name Type Required Description
    name string false The informat name of the column.
    rawLength integer false The rawLength of the column informat.
    decimals integer false The number of decimals in the column informat.

    columnArgument

    Properties

    Column Argument

    Name Type Required Description
    name string false The name of the column

    tableRequest

    Properties

    Table create request details for creating a table

    Name Type Required Description
    sourceArguments object false The arguments for the source data to create the table from
    » additionalProperties tableRequest_sourceArguments false The source arguments for the create request
    targetArguments object false The arguments for the target data table to create
    » additionalProperties tableRequest_targetArguments false The target arguments for the create request
    version integer false This media type's schema version number.

    tableRequest_sourceArguments

    Properties

    Table Request Source Arguments

    Name Type Required Description
    tableUri string true The URI for the source data table. This is not required when creating a table from a file upload.

    tableRequest_targetArguments

    Properties

    Table Request Target arguments

    Name Type Required Description
    tableName string true The name of the target data table.
    label string false A label for the table.
    replace [columnArgument] false The columns to include from the source table when creating the new table.

    tableRequestCas_sourceArguments

    Properties

    Table Request Source Arguments for the CAS provider

    Name Type Required Description
    casServer string true The name of the source cas server
    caslib string true The name of the source caslib
    tablePath string false The relative path to the table within the caslib
    includedColumns [columnArgument] false The columns to include from the source table when creating the new table.
    filter string false A filter (i.e. WHERE clause) to be applied to the rows of the source table as a filter for the new table.

    tableRequestCasSasHdat

    Properties

    Table create request details for CAS with SASHdat sources

    Name Type Required Description
    sourceArguments object false The arguments for the source data to create the table from
    » additionalProperties tableRequestCasSasHdat_sourceArguments false The source arguments for the create request
    targetArguments object false The arguments for the target data table to create
    » additionalProperties tableRequest_targetArguments false The target arguments for the create request
    version integer false This media type's schema version number.

    tableRequestCasSasHdat_sourceArguments

    Properties

    Table Request Source Arguments

    Name Type Required Description
    casServer string true The name of the source cas server
    caslib string true The name of the source caslib
    tablePath string false The relative path to the table within the caslib
    includedColumns [columnArgument] false The columns to include from the source table when creating the new table.
    filter string false A filter (i.e. WHERE clause to be applied to the rows of the source table as a filter for the new table.
    encryptionPassword string false The passphrase used for a AES encrypted data set. Required if the data set uses AES/AES2 encryption.

    tableRequestCasDataset

    Properties

    Table create request details for CAS with SAS Data Set sources

    Name Type Required Description
    sourceArguments object false The arguments for the source data to create the table from.
    » additionalProperties tableRequestCasDataSet_sourceArguments false The source arguments for the create request
    targetArguments object false The arguments for the target data table to create.
    » additionalProperties tableRequest_targetArguments false The target arguments for the create request
    version integer false This media type's schema version number. This is version 1.

    tableRequestCasDataSet_sourceArguments

    Properties

    Table Request CAS Data Set Source Arguments

    Name Type Required Description
    casServer string true The name of the source cas server
    caslib string true The name of the source caslib
    tablePath string false The relative path to the table within the caslib
    includedColumns [columnArgument] false The columns to include from the source table when creating the new table.
    filter string false A filter (i.e. WHERE clause) to be applied to the rows of the source table as a filter for the new table.
    encryptionPassword string false The passphrase used for a AES encrypted data set. Required if the data set uses AES/AES2 encryption.
    password string false The password for a password protected data set. Required if the data set is password protected or uses SAS proprietary encryption.
    characterMultiplier number(double) false The character multiplier for the data set

    tableRequestCasOracle

    Properties

    Table create request details for CAS with Oracle sources

    Name Type Required Description
    sourceArguments object false The arguments for the source data to create the table from.
    » additionalProperties tableRequestCas_sourceArguments false The source arguments for the create request for the cas provider
    targetArguments object false The arguments for the target data table to create.
    » additionalProperties tableRequest_targetArguments false The target arguments for the create request
    version integer false This media type's schema version number. This is version 1.

    tableRequestCasPostgreSQL

    Properties

    Table create request details for CAS with PostgreSQL sources

    Name Type Required Description
    sourceArguments object false The arguments for the source data to create the table from.
    » additionalProperties tableRequestCas_sourceArguments false The source arguments for the create request for the cas provider
    targetArguments object false The arguments for the target data table to create.
    » additionalProperties tableRequest_targetArguments false The target arguments for the create request
    version integer false This media type's schema version number. This is version 1.

    tableRequestCasODBC

    Properties

    Table create request details for CAS with ODBC sources

    Name Type Required Description
    sourceArguments object false The arguments for the source data to create the table from.
    » additionalProperties tableRequestCas_sourceArguments false The source arguments for the create request for the cas provider
    targetArguments object false The arguments for the target data table to create.
    » additionalProperties tableRequest_targetArguments false The target arguments for the create request
    version integer false This media type's schema version number. This is version 1.

    tableRequestCasExcel

    Properties

    Table create request details for CAS with Excel sources

    Name Type Required Description
    sourceArguments object false The arguments for the source data to create the table from.
    » additionalProperties tableRequestCasExcel_sourceArguments false The source arguments for the create request
    targetArguments object false The arguments for the target data table to create.
    » additionalProperties tableRequest_targetArguments false The target arguments for the create request
    version integer false This media type's schema version number. This is version 1.

    tableRequestCasExcel_sourceArguments

    Properties

    Table Request CAS Excel Source Arguments

    Name Type Required Description
    casServer string true The name of the source cas server
    caslib string true The name of the source caslib
    tablePath string false The relative path to the table within the caslib
    includedColumns [columnArgument] false The columns to include from the source table when creating the new table.
    filter string false A filter (i.e. WHERE clause) to be applied to the rows of the source table as a filter for the new table.
    firstRowHasColumnNames boolean false true if the first has column names, false otherwise.
    range string false If specified, use a range that represents a rectangle in the sheet, such as $A17:D51
    sheet string false If neither the sheet or range option is used, the first sheet is imported. To import only a part of a sheet, use the range option. Do not use both the sheet and range options.

    tableRequestCasDelimited

    Properties

    Table create request details for CAS with delimited sources

    Name Type Required Description
    sourceArguments object false The source arguments for the create request
    » additionalProperties tableRequestCasDelimited_sourceArguments false The source arguments for the create request
    targetArguments object false The arguments for the target data table to create.
    » additionalProperties tableRequest_targetArguments false The target arguments for the create request
    version integer false This media type's schema version number. This is version 1.

    tableRequestCasDelimited_sourceArguments

    Properties

    Table Request CAS Delimited Source Arguments

    Name Type Required Description
    casServer string true The name of the source cas server
    caslib string true The name of the source caslib
    tablePath string false The relative path to the table within the caslib
    includedColumns [columnArgument] false The columns to include from the source table when creating the new table.
    filter string false A filter (i.e. WHERE clause) to be applied to the rows of the source table as a filter for the new table.
    firstRowHasColumnNames boolean false true if the first has column names, false otherwise.
    delimiter string false The delimiter to use for this delimited file. The default is a comma (i.e. ",")
    rowsToScan integer(int32) false Number of rows to scan.
    encoding string false The encoding of the source table. The default is UTF-8.
    convertColumnsToVariableSize boolean false true to convert columns to variable size, otherwise false.
    locale string false The locale of the data being imported. Default is the CAS server default.
    customParameters object false Additional custom parameters to pass into the table create job. The key of this object is the name of the parameter.
    » additionalProperties tableRequestCasDelimited_sourceArguments_parameters false The parameters type and value to pass into the create table job

    tableRequestCasDelimited_sourceArguments_parameters

    Properties

    Cas Delimited Source Argument Parameters

    Name Type Required Description
    type string true The type of parameter.
    value object true The value of the parameter to pass in. This can be a number, string, or boolean. The parameter value is validated to the corresponding type member.
    Enumerated Values
    Property Value
    type string
    type numeric
    type boolean
    type password
    type complex

    tableJob

    Properties

    Table Create Job

    Name Type Required Description
    id string false The unique ID that is generated by the API.
    providerId string false The ID of the provider.
    type string false The type of the table job.
    state string false The current state of the job.
    error object false The representation of an error.
    » message string false The message for the error.
    » id string false The string ID for the error.
    » errorCode integer false The numeric ID for the error.
    » httpStatusCode integer true The HTTP status code for the error.
    » details [string] false Messages that provide additional details about the cause of the error.
    » remediation string false A message that describes how to resolve the error.
    » errors [error] false Any additional errors that occurred.
    » links [links] false The links that apply to the error.
    » version integer true The version number of the error representation. This representation is version 2.
    duration number(double) false The number of seconds that elapsed from the time the job was started until it finished, or the amount of time that has passed if it is still running.
    creationTimeStamp string false The creation date, which is the date that the job was submitted. This uses the yyyy-MM-ddTHH:mm:ss.SSSZ format.
    modifiedTimeStamp string false The date of the last modification. This uses the yyyy-MM-ddTHH:mm:ss.SSSZ format.
    endTimeStamp string false The date that the job finished. This uses the yyyy-MM-ddTHH:mm:ss.SSSZ format.
    createdBy string false The user ID of the user who created or submitted the job.
    modifiedBy string false The user ID of the user who last modified the job.
    attributes object false Additional provider and table specific attributes.
    version integer false This media type's schema version number.
    links [links] false The links that apply to the column.
    Enumerated Values
    Property Value
    type create
    type delete
    state pending
    state running
    state canceled
    state completed
    state failed
    state timedOut

    Usage Notes

    Overview

    The Data Tables API is used to retrieve table and column metadata that is contained in the SAS Viya ecosystem.

    Context

    The Data Tables API works with the Data Sources and Row Sets APIs to navigate, reference, and retrieve data in the SAS Viya ecosystem. The Data Tables API enables retrieval of data table and column metadata.

    Terminology

    table

    represents a rectangular data structure that consists of rows and columns of uniform data.

    data table

    represents a rectangular data structure that consists of rows and columns of uniform data.

    data source

    represents a node in the data source hierarchy that can represent a server, library, or collection of tables.

    column

    represents a column of rectangular data.

    row

    represents a row of rectangular data.

    cell

    represents the value where a row and column intersect.

    row set

    represents a contiguous set of data table rows (for example, a table).

    provider

    represents a service that has registered itself as a provider of data table information. These services provide table and column metadata for specific environments such as SAS Compute Server or CAS.

    session

    represents a semi-permanent interactive information interchange between the client that uses this API and the provider service returning the metadata.

    long poll

    implements requests to either create (POST) a table, or get an existing job that can optionally wait at the server for the completion of the job. The maximum time out is 30 seconds. The job might return incomplete, in which case the user can reissue another long poll request.

    Resources

    Resource Relationships

    The diagram below shows the relationships between the resources in this API.

    Data Tables entity relationship diagram

    Pagination, Sorting, and Filtering

    In this API, methods that operate on a collection support the following features.

    Root

    Path: /

    Relation Method Description
    tables GET Returns a collection of tables.
    URI: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table

    Tables

    Path: /dataSources/{dataSourceId}/tables

    Relation Method Description
    collection GET Returns the first page of the unfiltered, unsorted tables collection.
    URI: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table
    self GET Returns the current page of the (filtered) tables collection.
    URI: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table
    up GET Returns the parent data source of this collection of tables. HREF: /dataSources/providers/{providerId}/sources/{dataSourceId}
    Type: application/vnd.sas.data.source
    sessionScoped GET Returns the current page of the (filtered) collection with the sessionId query parameter included. This link exists only if the sessionId query parameter is passed in or thepreserveSession is set to true.
    URI: /dataTables/dataSources/{dataSourceId}/tables?sessionId={sessionId}
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table
    session GET Returns the session for accessing this collection. This link is included if the client request includes the ?sessionId query parameter or if the preserveSession query parameter is set to true. HREF: /dataSources/providers/{providerId}/{sourceId}/sessions/{sessionId} Type: application/vnd.sas.data.session
    first GET Returns the first page of collection results. (start=0)
    URI: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table
    prev GET Returns the previous page of collection results.
    URI: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table
    next GET Returns the next page of collection results.
    URI: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table
    last GET Returns the last page of collection results.
    URI: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.table

    Columns

    Path: /dataSources/{dataSourceId}/tables/{tableName}/columns

    Relation Method Description
    collection GET Returns the collection.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    self GET Returns the current page of the (filtered) collection.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    up GET Returns the parent table of this collection of columns.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}
    Type application/vnd.sas.data.table
    sessionScoped GET Returns the current page of the (filtered) collection with the sessionId query parameter included. This link exists only if the sessionId query parameter is passed in or thepreserveSession is set to true.
    URI: /dataTables/dataSources/{dataSourceId}/tables?sessionId={sessionId}
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    session GET Returns the session for accessing this collection. This link is included if the client request includes the sessionId query parameter or if the preserveSession query parameter is set to true. HREF: /dataSources/providers/{providerId}/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session
    first GET Returns the first page of collection results. (start=0)
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    prev GET Returns the previous page of collection results.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    next GET Returns the next page of collection results.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    last GET Returns the last page of collection results.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary

    Job

    Path: /jobs/{id}

    This API provides to creation of tables and application/vnd.sas.data.table.job to monitor their creation since it occurs asynchronously. This job includes metadata about the links to the log, source and target tables.

    The client must poll until the job is completed (using either the self or the state link). Terminal states are: completed, timedOut , canceled and failed. Both the POST and GET calls accept a request parameter wait, how long (in floating point seconds) to wait if the job is not complete before timing out and returning. This so-called long poll returns immediately when the job completes. The default value for asynchronous POST and DELETE operations is 0.5 (1/2 second), and 0.0 for synchronous GET operations. The maximum is 30 seconds.

    Relation Method Description
    self GET Returns the job.
    URI: /jobs/{jobId}
    Response type: application/vnd.sas.data.table.job
    state GET Returns the state of this job.
    URI: /jobs/{jobId}/state
    Response type: text/plain
    alternate GET Returns the backing execution provider's representation of this job.
    URI: /jobExecution/jobs/{id}
    Response type: application/vnd.sas.job.execution.job
    sourceTable GET Returns the source data table.
    URI: /dataTables/{dataSourceId}/tables/{tableId}
    Response type: application/vnd.sas.data.table
    targetTable GET Returns the target data table.
    URI: /dataTables/{dataSourceId}/tables/{tableId}
    Response type: application/vnd.sas.data.table
    log GET Returns the log file.
    URI: Varies depending on execution environment, but typically is /files/files/{fileId}

    Media Types

    Externally Defined Media Types

    Generic Attributes Model

    The following model is for a generic attributes object that is used across multiple resource representations. The purpose of this model is to store attributes in a generic fashion, allowing the resource to be expanded without requiring version updates. Also, various providers can provide different data for different resources.

    Name Type Description
    attributes object An object that contains name/value pairs where the values can be any type, such as a number, string, object, or an array.
    JSON Representation of Attributes

    { "attributes": { "myAttrNum": 1.2, "myAttrInt": 100, "myAttrString": "myString", "myAttrArray": [ 123, "value1", true], "myAttrBoolean": true, "myAttrNull": null, "myAttrObj": { "myAttrBoolean": true, "myAttrNull": null, } }

    application/vnd.sas.data.table

    The application/vnd.sas.data.table media type describes the complete details of a table.

    Relation HTTP Method Description
    self GET Returns a link to the full complete representation of the table.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}
    Type: application/vnd.sas.data.table
    alternate GET Returns a link to the summary representation of the table.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}
    Type: application/vnd.sas.data.table.summary
    connectionAttributes GET Returns a link to the attributes needed to establish a connection to this table from other clients.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}
    Type: application/vnd.sas.attributes
    sessionScoped GET Returns a link to the full complete representation of the table. with the sessionId query parameter included. This link exists only if the sessionId query parameter is passed in or if the preserveSession query parameter is set to true.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}?sessionId={sessionId}
    Type: application/vnd.sas.data.table
    session GET Returns a link to the session for accessing this table. This link is included if the client request includes the sessionId query parameter or if the preserveSession query parameter is set to true. HREF: /dataSources/providers/{providerId}/sources/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session
    up GET Returns a link to the collection of all tables for this source reference.
    URI: /dataTables/dataSources/{dataSourceId}/tables
    Type: application/vnd.sas.collection
    rows GET Returns a link to a collection of this table's rows HREF: /rowSets/rowSets/{rowSetId}/rows
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.row
    rowSet GET Returns a link to a row set for this table HREF: /rowSets/rowSets/{rowSetId}/rowSet
    Type: application/vnd.sas.data.row.set
    columns GET Returns a link to a collection of this table's columns.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    provider GET Returns a link to the provider for this table HREF: /dataSources/providers/{providerId}
    Type: application/vnd.sas.data.provider
    dataSource GET Returns a link to this table's parent data source HREF: /dataSources/providers/{providerId}/sources/{sourceId}
    Type: application/vnd.sas.data.source
    type GET Returns a link to this table's type resource in the Types API. Omit if the provider service does not register its types. HREF: /types/types/{typeName}
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.content.type
    Members
    Name Type Description
    version integer The media type schema version number. This representation is version 1.
    name string The unique name of this table within a data source.
    label string The user visible name of this table. This value can vary depending on the Accept-Language header.
    providerId string The unique identifier of this table's provider.
    dataSourceId string The unique identifier of this table's parent data source.
    type string The type of this table. This type corresponds to a type in the Types API.
    createdBy string The user ID who created this table
    modifiedBy string The last user ID to modify this table
    creationTimeStamp string The formatted time stamp when the table was created, in yyyy-mm-ddThh:mm:ssZ format
    modifiedTimeStamp string The formatted time stamp when the table was created, in yyyy-mm-ddThh:mm:ssZ format
    attributes object A generic attributes object. See the generic attributes model for more information.
    links array of link objects Zero or more links to related resources or operations.
    application/vnd.sas.data.table+json

    { "name": "AIRLINES", "label": "Airlines", "providerId": "cas", "dataSourceId": "cas~fs~cas~fs~CASTestTmp", "creationTimeStamp": "2016-03-03T14:59:52.000Z", "modifiedTimeStamp": "2016-03-03T14:59:52.000Z", "createdBy": "bob", "modifiedBy": "bob", "type": "table", "attributes": { "loaded": true, "sourceTableName": null, "characterSet": "UTF8", "global": true, "caslibId": "CASTestTmp", "rowCount": 6048, "columnCount": 8, "sessionId": "feb250ff-15fc-ed44-913c-28c3f311c17b", "encoding": "utf-8", "serverId": "cas" }, "version": 1, "links": [ { "method": "GET", "rel": "self", "href": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "uri": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "type": "application/vnd.sas.data.table" }, { "method": "GET", "rel": "alternate", "href": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "uri": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "type": "application/vnd.sas.data.table.summary" }, { "method": "GET", "rel": "connectionAttributes", "href": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "uri": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "type": "application/vnd.sas.attributes" }, { "method": "GET", "rel": "up", "href": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables", "uri": "/dataTables/dataTableProviders/cas~fs~cas~fs~CASTestTmp/tables", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.table" }, { "method": "GET", "rel": "dataSource", "href": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp", "uri": "/dataSources/providers/cas/sources/cas~fs~CASTestTmp", "type": "application/vnd.sas.data.source" }, { "method": "GET", "rel": "provider", "href": "/dataSources/providers/cas", "uri": "/dataSources/providers/cas", "type": "application/vnd.sas.data.provider" }, { "method": "GET", "rel": "rows", "href": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rows", "uri": "/rowSets/tables/cas~fs~cas~fs~CASTestTmp~fs~AIRLINES/rows", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.row.summary" }, { "method": "GET", "rel": "columns", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.column.summary" } ] }

    application/vnd.sas.data.table.summary

    The application/vnd.sas.data.table.summary media type describes the summary details of a data table. Note that this summary media type is not the default media type for its respective collection instead, the default is the application/vnd.sas.data.table media type. To retrieve this media type instead, specify the Accept-Item header as application/vnd.sas.data.table.summary+json on the GET /dataSources/{dataSourceId}/tables request.

    application/vnd.sas.data.table.summary has the same link relations as application/vnd.sas.data.table.

    Members

    application/vnd.sas.data.table.summary has all of the members of the application/vnd.sas.data.table media type that might change in future versions of this media type. The attributes member's content varies, depending on the provider.

    This is representation version 1.

    application/vnd.sas.data.column

    The application/vnd.sas.data.column media type describes the complete details of a column. If a less comprehensive media type is needed with a smaller payload, see the application/vnd.sas.data.column.summary media type.

    Relation HTTP Method Description
    self GET Returns a link to the full complete representation of the column.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns/{columnName}
    Type: application/vnd.sas.data.column
    sessionScoped GET Returns a link to the full complete representation of the column. with the sessionId query parameter included. This link exists only if the sessionIdquery parameter is passed in or if the preserveSession query parameter is set to true.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns/{columnName}
    Type: application/vnd.sas.data.column
    session GET Returns a link to the session for accessing this column. This link is included if the client request includes the sessionId query parameter or if the preserveSession query parameter is set to true. HREF: /dataSources/providers/{providerId}/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session
    alternate GET Returns a link to the full complete representation of the column.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns/{columnName}
    Type: application/vnd.sas.data.column.summary
    up GET Returns a link to the collection of all columns for this specified table
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    table GET Returns a link to the data table that contains this column
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}
    Type: application/vnd.sas.data.table
    type GET Returns a link to the type resource of this column in the Types API. Omit this resource if the provider service does not register its types. HREF: /types/types/{typeName}
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.content.type
    Members
    Name Type Description
    version integer The media type schema version number. This representation is version 1.
    name string The name of the column.
    label string The localized name of this column. This value can vary depending on the Accept-Language header.
    type string The column type. This type corresponds to a type in the Types API.
    index long integer The column 0-based index (as a 64-bit integer) if this is supported by the provider data service. If it is unsupported, it is omitted.
    rawLength integer The raw length of the column.
    formattedLength integer The formatted length of the column.
    format object The format of the column represented as the following object: { name: "string", length: "integer", decimals: "integer", }
    informat object The input format of the column as the following object: { name: "string", length: "integer", decimals: "integer", }
    attributes object A generic attributes object. See the generic attributes model for more information.
    links array of link objects Zero or more links to related resources or operations. Se
    application/vnd.sas.data.column+json

    { "name": "Airline ID", "type": "double", "rawLength": 8, "formattedLength": 12, "version": 1, "format": { "name": "string", "length": 0, "decimals": 0, }, "links": [ { "method": "GET", "rel": "self", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID", "type": "application/vnd.sas.data.column" }, { "method": "GET", "rel": "alternate", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID", "type": "application/vnd.sas.data.column.summary" }, { "method": "GET", "rel": "up", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.column" }, { "method": "GET", "rel": "table", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "type": "application/vnd.sas.data.table" } ] }

    application/vnd.sas.data.column.summary

    The application/vnd.sas.data.column.summary media type provides a summary-based description of a column in a data table. This media type is a subset of the application/vnd.sas.data.column media type. It contains all of the member fields except the following: attributes, format and informat.

    Relation HTTP Method Description
    self GET Returns a link to the full complete representation of the column.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns/{columnName}
    Type: application/vnd.sas.data.column
    sessionScoped GET Returns a link to the full complete representation of the column. with the sessionId query parameter included. This link exists only if the sessionIdquery parameter is passed in or if the preserveSession query parameter is set to true.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns/{columnName}
    Type: application/vnd.sas.data.column
    session GET Returns a link to get the session for accessing this column. This link is included if the client request includes the sessionId query parameter or if the preserveSession query parameter is set to true. HREF: /dataSources/providers/{providerId}/{sourceId}/sessions/{sessionId}
    Type: application/vnd.sas.data.session
    alternate GET Returns a link to the full complete representation of the column.
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns/{columnName}
    Type: application/vnd.sas.data.column.summary
    up GET Returns a link to the collection of all columns for this specified table
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}/columns
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.data.column.summary
    table GET Returns a link to the parent table of this column
    URI: /dataTables/dataSources/{dataSourceId}/tables/{tableName}
    Type: application/vnd.sas.data.table
    type GET Returns a link to the type resource of the column in the Types API. Omit this resource if the provider service does not register its types. HREF: /types/types/{typeName}
    Type: application/vnd.sas.collection
    Item type: application/vnd.sas.content.type
    Members
    Name Type Description
    version integer The media type schema version number. This representation is version 1.
    name string The name of the column.
    label string The localized name of this column. This value can vary depending on the Accept-Language header.
    type string The type of the column type. This type corresponds to a type in the Types API.
    index long integer The 0-based index of the column (as a 64-bit integer) if this is supported by the provider data service. If it is unsupported, it is omitted.
    rawLength integer The raw length of the column.
    formattedLength integer The formatted length of the column.
    links array of link objects Zero or more links to related resources or operations. See the above link relations table for a description of the link types.
    application/vnd.sas.data.column.summary+json

    { "name": "Airline ID", "type": "double", "rawLength": 8, "formattedLength": 12, "version": 1, "links": [ { "method": "GET", "rel": "self", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID", "type": "application/vnd.sas.data.column" }, { "method": "GET", "rel": "alternate", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/Airline%20ID", "type": "application/vnd.sas.data.column.summary" }, { "method": "GET", "rel": "up", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES/columns/", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.data.column.summary" }, { "method": "GET", "rel": "table", "href": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "uri": "/dataTables/dataSources/cas~fs~cas~fs~CASTestTmp/tables/AIRLINES", "type": "application/vnd.sas.data.table" } ] }

    application/vnd.sas.data.table.job+json

    The application/vnd.sas.data.table.job media type. represents a resource for tracking asynchronous operations (jobs) on data table resources.

    This is described by tableJob.

    application/vnd.sas.data.table.request+json

    The application/vnd.sas.data.table.request media type. the media type for loading tables into memory for the CAS provider.

    This is described by tableRequest.

    application/vnd.sas.data.table.cas.sashdat.request+json

    The application/vnd.sas.data.table.cas.sashdat.request media type. the media type for creating tables from sashdat sources for the CAS provider.

    This is described by tableRequestCasSasHdat.

    application/vnd.sas.data.table.cas.data.set.request+json

    The application/vnd.sas.data.table.cas.data.set.request media type. the media type for creating tables from SAS Data Set sources for the CAS provider.

    This is described by tableRequestCasDataset.

    application/vnd.sas.data.table.cas.oracle.request+json

    The application/vnd.sas.data.table.cas.oracle.request media type. the media type for creating tables from Oracle database sources for the CAS provider.

    This is described by tableRequestCasOracle.

    application/vnd.sas.data.table.cas.postgresql.request+json

    The application/vnd.sas.data.table.cas.postgresql.request media type. the media type for creating tables from PostgreSQL database sources for the CAS provider.

    This is described by tableRequestCasPostgreSQL.

    application/vnd.sas.data.table.cas.excel.request+json

    The application/vnd.sas.data.table.cas.excel.request media type. the media type for creating tables from Excel sources for the CAS provider.

    This is described by tableRequestCasExcel.

    application/vnd.sas.data.table.cas.delimited.request+json

    The application/vnd.sas.data.table.cas.delimited.request media type. the media type for creating tables from delimited sources for the CAS provider.

    This is described by tableRequestCasDelimited.

    Error Codes

    Error codes

    This API uses the standard error response type, application/vnd.sas.error "Application/vnd.sas.error"), to handle propagating all error messages and codes to the consumer. The following list contains the set of error codes that are used in certain error conditions.

    HTTP Status Code Error Code Description
    400 12001 The sortBy query parameter is not supported by this provider on this endpoint.
    400 12002 The filter query parameter is not supported by this provider on this endpoint.
    400 12004 The provided jobId is not valid.
    400 12006 The Content-Item-Type header must be a supported create table request media type.
    400 12007 The table create request was invalid.
    400 12008 The casServer source argument must be specified.
    400 12009 The tableName must be specified when creating a table.
    400 12010 The caslib source argument must be specified.
    400 12011 The tablePath source argument must be specified.
    400 12012 The file upload failed.
    400 12013 The tableUri must be specified when creating a table.
    400 12014 The tableUri is not valid.
    404 12000 The provider could not be found.
    500 12005 The job failed to submit properly.
    501 12003 The data tables provider service does not support this action.

    Row Sets

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    The Row Sets API provides a common way for services to reference rows of rectangular data that are available in the SAS ecosystem. The URLs for this service are the only canonical form of storing data references for SAS Viya.

    Base URLs:

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/rowSets/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.api+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.api+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/rowSets/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.api+json'
    }
    
    r = requests.get('https://www.example.com/rowSets/', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /

    Returns a collection of links to the top-level collections that are surfaced through this API.

    Example responses

    200

    {
      "version": 1,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    Status Meaning Description Schema
    200 OK The request succeeded. Inline

    Check the availability of the service

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/rowSets/
    
    
    
    $.ajax({
      url: 'https://www.example.com/rowSets/',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    
    r = requests.head('https://www.example.com/rowSets/', params={
    
    )
    
    print r.json()
    
    

    HEAD /

    Returns header information and the status.

    Responses

    Status Meaning Description Schema
    200 OK The request succeeded. The service is available. None

    Get a row set

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/rowSets/tables/{tableId}/rowSet \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.data.row.set+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.data.row.set+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/rowSets/tables/{tableId}/rowSet',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    import requests
    headers = {
      'Accept': 'application/vnd.sas.data.row.set+json'
    }
    
    r = requests.get('https://www.example.com/rowSets/tables/{tableId}/rowSet', params={
    
    }, headers = headers)
    
    print r.json()
    
    

    GET /tables/{tableId}/rowSet

    Returns a paginated collection of rows and their cell's corresponding columns. Standard paging options are provided. Sorting and filtering options are provider dependent, but the default sort order is ascending by row order (i.e. index). If the provider has naturally unordered row data, it must allow for pagination in a consistent manner.

    Parameters

    Parameter In Type Required Description
    tableId path string true The ID of the table.
    start query integer false The starting index of the first row in a page. Defaults to 0.
    limit query integer false The maximum number of rows to return in this page of results. The number of returned rows might be less if the collection has been exhausted. Defaults to 10.
    format query boolean false Formats the cells of data. Defaults to true.
    sortBy query string(sort-criteria) false Sort returned rows of data.
    Rows sorted by any valid column name. The default sort order is ascending by row order (i.e. index). For example:
    • Sort ascending by column with name COLUMN_A: /rowSets/tables/{tableId}/rowSet?sortBy=COLUMN_A:ascending
    • Sort descending by column with name COLUMN_A: /rowSets/tables/{tableId}/rowSet?sortBy=COLUMN_A:descending
    includeColumns query string false Includes the row index as the first item in the row data. The default value is "false".
    where query string false The WHERE clause to pass through to the underlying data service. This acts as a filter on the provided data. Example: ?where=COUNTRY='Canada'.
    columnDetail query string false The desired column representation.
    The columnDetail options yield the following in the columns member:
    • summary - application/vnd.sas.data.column.summary
    • detail - application/vnd.sas.data.column
    • names - the column name as a string
    If no value is specified, the default value is "summary".
    columnStart query integer false The starting index of the first column in a page. The default value is "0".
    columnLimit query integer false Maximum number of cells per row and columns to return in this page of results. The number of returned columns might be less if the collection has been exhausted. Defaults to 25.
    columnSortBy query string(sort-criteria) false Sort returned columns and cells of data.
    Columns sorted by any valid column name. The default sort order is ascending by column index. Some sample sorts:
    • Sort descending by column index descending: /rowSets/tables/{tableId}/rowSet?columnSortBy=index:descending
    • Sort ascending by column name ascending: /rowSets/tables/{tableId}/rowSet?columnSortBy=name:ascending
    sessionId query string false The unique identifier of the session used to access the data service provider's backing service. When this parameter is not specified, the data service provider creates a temporary session, and then deletes it after the request is complete. If this is specified, all returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they will contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId.
    preserveSession query boolean false This parameter has effect only if the sessionId query parameter is not specified. If this is set to true, and no sessionId is provided, the session created by the data service provider is not destroyed. All returned links, except the "self" link, have the sessionId query parameter added to their respective URIs. Also, they will contain an additional session link to the application/vnd.sas.data.session resource that corresponds to the provided sessionId. If set to false or not specified, the session is deleted after the request is complete. The default setting is "false".

    Enumerated Values

    Parameter Value
    columnDetail summary
    columnDetail detail
    columnDetail names

    Example responses

    200

    {
      "count": 6048,
      "start": 0,
      "limit": 10,
      "columnDetail": "names",
      "columnStart": 0,
      "columnLimit": 25,
      "rows": [
        [
          "Private flight",
          "N",
          ""
        ],
        [
          "135 Airways",
          "N",
          "United States"
        ],
        [
          "1Time Airline",
          "N",
          "South Africa"
        ],
        [
          "2 Sqn No 1 Elementary Flying Training School",
          "N",
          "United Kingdom"
        ],
        [
          "213 Flight Unit",
          "N",
          "Russia"
        ],
        [
          "223 Flight Unit State Airline",
          "N",
          "Russia"
        ],
        [
          "224th Flight Unit",
          "N",
          "Russia"
        ],
        [
          "247 Jet Ltd",
          "N",
          "United Kingdom"
        ],
        [
          "3D Aviation",
          "N",
          "United States"
        ],
        [
          "40-Mile Air",
          "N",
          "United States"
        ]
      ],