Data Hub

The Data Hub API provides access to information that is managed by SAS Visual Investigator. This API facilitates describing data that resides in either internal writable databases or external customer-controlled read-only databases. Once the data definitions are provided as entity types, the data becomes accessible within SAS Visual Investigator. This API also provides mechanisms for fetching individual entity records that were defined by the entity type definitions.

Data Stores

Contains the operations related to data store configurations.
get
Fetch a data store by name
Internal-Use OnlyRetrieves a data store that matches a specific name. The user name and password for the data store (required for the Create operation) are not returned in the response./admin/dataStores
post
Create a data store
Internal-Use OnlyCreates a new data store. Prior to version 10.5.1 of SAS Visual Investigator, this process could take from 30-60 seconds to complete. The "handle" property must be generated by the client. The string must be unique and contain no special characters. The "username" and "password" properties are required./admin/dataStores
put
Repair a data store
Internal-Use OnlyRepairs a data store. At times, data store information can get into a bad state. For example, during a release migration when data store metadata is being moved and a failure occurs. In these situations, use this endpoint along with the full data store content with the user name and password. Data Hub attempts to repair the state of the data store./admin/dataStores/repair/{dataStoreName}
get
Fetch all data stores
Internal-Use OnlyRetrieves a list of all available data stores./admin/dataStores/all
get
Fetch user name and password for a data store
Internal-Use OnlyRetrieves the data store user name and password. Other metadata about the data store is not included in the response. This endpoint requires the "svi.administration.datastore_credentials" capability. Be careful about who is given this capability. This endpoint is designed to be used by other SAS services that need the data store credentials./admin/dataStores/{dataStoreId}/credentials
post
Test the connection to the data store that is in the request body
Internal-Use OnlyAttempts to connect to the data store that is specified in the request body. This endpoint requires the "svi.administration.core_metadata" capability./admin/dataStores/connectionTest
get
Get the default data store
Internal-Use OnlyRetrieves the default data store. This endpoint requires the "svi.administration.core_metadata" capability./admin/dataStores/default
get
Gets a list of supported database types
Internal-Use OnlyRetrieves a list of supported database types. This endpoint requires the "svi.administration.core_metadata" capability./admin/dataStores/supportedDatabaseTypes
get
Get a data store by ID
Internal-Use OnlyRetrieves a data store that matches the specified data store ID. The user name and password for the data store (required for the Create operation) are not returned in the response. This endpoint requires the "svi.administration.core_metadata" capability./admin/dataStores/{dataStoreId}
delete
Delete a data store by ID
Internal-Use OnlyDeletes the data store that matches the specified data store ID. This endpoint requires the "svi.administration.core_metadata" capability./admin/dataStores/{dataStoreId}
put
Update a data store by ID
Internal-Use OnlyUpdates the data store with the specified ID to the data store definition that is contained in the request body. This endpoint requires the "svi.administration.core_metadata" capability./admin/dataStores/{dataStoreId}
get
Get all table names from a data store
Internal-Use OnlyReturns a list of all table names from the data store with the specified ID. This endpoint requires the "svi.administration.core_metadata" capability./admin/dataStores/{dataStoreId}/tables
get
Get table metadata from a data store
Internal-Use OnlyReturns table metadata from a data store for the specified data store ID and table name. This endpoint requires the "svi.administration.core_metadata" capability./admin/dataStores/{dataStoreId}/tables/{tableName}

Documents

Contains the operations related to documents.
post
Create a new internal document
Internal-Use OnlyCreate a new internal document. If child documents are included in the request body, new child documents are also created./documents
get
Get a collection of documents by entity type
Internal-Use OnlyGets a collection of documents for the specified entity type. To filter the collection of documents, submit a GET via POST request./documents/{entityTypeName}
post
Filter a collection of documents
Internal-Use OnlyFilters a collection of documents by document ID or by using a custom filter. The type of filtering determines the media types to specify in the Content-Type header. This endpoint is a GET via POST. The reasoning for why a POST is needed is specified for each type of request./documents/{entityTypeName}
get
Get a document by ID
Internal-Use OnlyGets a document by ID. Specify whether child documents are returned as well. A user can read an external or internal document./documents/{entityTypeName}/{documentId}
put
Update an internal document
Internal-Use OnlyUpdates an internal document. This is an appropriate way to add child documents or worksheets to the document. The content of the request is the existing document. Updating external documents is not allowed./documents/{entityTypeName}/{documentId}
delete
Delete an internal document
Internal-Use OnlyDeletes an internal document. Deleting external documents is not allowed./documents/{entityTypeName}/{documentId}
post
Bulk create and update documents
Internal-Use OnlyCreates and updates internal documents in bulk. The input is a list of document objects. Each document represents either a Create or Update operation, depending on its form. The output is a list of operation summary results./documents/bulk
get
Get other documents related to an individual document
Internal-Use OnlyGiven a document and a relationship type name, finds all the documents that are related to the given document. The related documents can be filtered by a date range using the date and time fields on the related document's entity type./documents/{entityTypeName}/{documentId}/{relationshipTypeName}
get
Get summary of action history for a document
Internal-Use OnlyGets a summary of action history for a document. Action history summaries contain a link to fetch the full representation. The 'Accept-Item' request header can be used to fetch the 'available action types' for this document. If the 'Accept-Item' header is set to "application/vnd.sas.investigate.action.type", this endpoint returns a collection of action types. This collection represents all of the action types that exist historically for the specified document, providing an exhaustive list of all possible filter options./documents/{objectTypeName}/{documentId}/actions
get
Get an action for a document
Internal-Use OnlyGets the full representation of an action from a documents action history. A link to this representation is returned in the links property of an action summary./documents/{objectTypeName}/{documentId}/actions/{actionId}
get
Get summary of version history for a document
Internal-Use OnlyGets a summary of version history for a document. Version summaries contain a link to fetch the full version representation./documents/{objectTypeName}/{documentId}/versions
get
Get a version for a document
Internal-Use OnlyGets the full representation of a version from a document's version history. A link to this representation is returned in the links property of a version summary./documents/{objectTypeName}/{documentId}/versions/{version}
get
Get a summary of version history for a child document
Internal-Use OnlyGets a summary of version history for a child document. Child version summaries contain a link to fetch the full child version representation./documents/{objectTypeName}/{documentId}/versions/{version}/children/{childDocType}
get
Get a child version for a child document
Internal-Use OnlyGets the full representation of a child version from a child document's version history. A link to this representation is returned in the "links" property of a child version summary./documents/{objectTypeName}/{documentId}/versions/{version}/children/{childDocType}/{childDocId}
get
Get additional history information about a historical document version
Internal-Use OnlyGets additional history information about a historical document version. For example, this could be insight Create, Edit, and Delete operations./documents/{objectTypeName}/{documentId}/versions/{version}/items
get
Get additional history information for a child document at a specific parent document version
Internal-Use OnlyGets additional history information for a child document at a specific parent document version./documents/{objectTypeName}/{documentId}/versions/{version}/children/{childDocType}/{childDocId}/items
post
Lock a document for editing and deletion
Internal-Use OnlyPlaces a lock on a document prior to modifying or deleting the document. If another user has a lock on the object, the request fails. Be sure to delete the lock after editing the document. A document lock times out after two hours or when the session ends; whichever occurs first./locks/documents
delete
Release a document lock
Internal-Use OnlyReleases a document lock. A document lock times out after two hours or when the session ends; whichever occurs first./locks/documents
get
Query document lock for user
Internal-Use OnlyDetermines whether the user has a lock on a document./locks/documents
Contains the operations related to relationship links.
post
Create a new relationship link between two documents
Internal-Use OnlyCreates a new relationship link between two documents. A link is an instance of a relationship type. A relationship type that describes the link must already exist. The relationship type must have an internal bridge table to create links./links
get
Query a list of links or an individual link based on specific query parameters
Internal-Use OnlyGets either a list of links that are associated with a document or an individual link. The type of request is determined by the included query parameters. Do not mix the query parameters for both types of requests./links
put
Update a relationship link
Internal-Use OnlyUpdate an existing relationship link where the relationship type has an internal bridge table./links
get
Query an individual link
Internal-Use OnlyRetrieves an individual link using an ID string./links/@item
put
Update a relationship link
Internal-Use OnlyUpdates an existing relationship link where the relationship type has an internal bridge table./links/@item
delete
Delete a relationship link
Internal-Use OnlyDeletes an existing relationship link where the relationship type has an internal bridge table./links/@item
get
Get summary of action history for a link
Internal-Use OnlyGets a summary of action history for a link. Action history summaries contain a link to fetch the full representation. The 'Accept-Item' request header can be used to fetch the 'available action types' for this link. If the 'Accept-Item' header is set to "application/vnd.sas.investigate.action.type", this endpoint returns a collection of action types. This collection represents all of the action types that exist historically for the given link, providing an exhaustive list of all possible filter options./links/@item/actions
get
Get an action from the action history of a link
Internal-Use OnlyGets the full representation of an action from a links action history. A link to this representation is returned in the links property of an action summary./links/@item/actions/{actionId}
get
Get summary of version history for a link
Internal-Use OnlyGets a summary of version history for a link. Version summaries contain a link to fetch the full version representation./links/@item/versions
get
Get a version from a links version history
Internal-Use OnlyGets the full representation of a version from a links version history. The link to fetch the full representation is returned with version summaries./links/@item/versions/{version}

Entity Types

Contains the operations related to managing entity type metadata.

Relationship Types

Contains the operations related to managing relationship type metadata.

Transaction Types

Contains the operations related to managing transaction type metadata.

Attachments

Contains the operations related to attachments.
get
Get all file attachment metadata associated with a document
Internal-Use OnlyGets all file attachment metadata that is associated with a document. The "location" property in the response contains the relative URI path to the document. To retrieve the contents of an attachment, use that URI to download the document from the Files service: GET ${hostAndPort}${valueOfLocationProperty} ./documents/{entityTypeName}/{documentId}/attachments
post
Create file attachment metadata on a document
Internal-Use OnlyCreates file attachment metadata on a document. To create an attachment, upload the file to the SAS Viya Files service, and then use the Files service response to construct a request to the Data Hub createDocumentAttachment endpoint./documents/{entityTypeName}/{documentId}/attachments
get
Get file attachment metadata associated with a document
Internal-Use OnlyGets the file attachment metadata that is associated with a document. The "location" property is the relative URI path to download the document from the Files service. To retrieve the contents of an attachment, use the URI that is provided in the "location" field: GET ${hostAndPort}${valueOfLocationProperty}/documents/{entityTypeName}/{documentId}/attachments/{attachmentId}
delete
Delete an attachment from a document
Internal-Use OnlyDeletes an attachment that is associated with a document. The metadata and the file that are stored by the Files service are deleted./documents/{entityTypeName}/{documentId}/attachments/{attachmentId}

Comments

Contains the operations related to comments.

Files

Contains the operations related to files.
post
Create a file association object and associate it with an object
Internal-Use OnlyCreates a file association. You can create a file association by using the representation that is contained in the request body or by reusing a file that is already associated with an object. To create a file association using the representation that is contained in the request body, the file to which the file association points (via its Location property) must exist in the Files service and must not be associated with another object. To create a file association by using a file that is already associated with an object, call this endpoint without a request body and use the copyFileFrom parameter to identify the file. The Data Hub service copies the file enabling it to be associated with a different object. The object that is identified by the objectTypeName and objectId in the path is associated with the copied file./documents/{objectTypeName}/{objectId}/files
get
Get the files that are associated with the object
Internal-Use OnlyGets the files that are associated with an object and returns them as a collection./documents/{objectTypeName}/{objectId}/files
get
Get the file association object with the specified file ID
Internal-Use OnlyGets the file metadata for the file with the specified object type, object type ID, and file ID./documents/{objectTypeName}/{objectId}/files/{fileId}
delete
Delete the file with the specified file ID
Internal-Use OnlyDeletes the file with the specified ID from the object that is specified in the path./documents/{objectTypeName}/{objectId}/files/{fileId}
get
Download the file with the specified file ID
Internal-Use OnlyDownloads the file with the specified ID from the object that is specified in the path./documents/{objectTypeName}/{objectId}/files/{fileId}/content
get
Download the file with the specified file ID
Internal-Use OnlyDownloads the file with the specified ID, if the file is not attached to an object. Use the /documents/{objectTypeName}/{objectId}/files/{fileId}/content endpoint if the file is attached to an object./files/{fileId}/content
delete
Delete the file with the specified file ID
Internal-Use OnlyDeletes the file with the specified ID, if it is not attached to an object. Use the /documents/{objectTypeName}/{objectId}/files/{fileId} endpoint if the file is attached to an object./files/{fileId}
get
Get the files that are associated with the child object
Internal-Use OnlyGets the files that are associated with a child object and returns them as a collection./documents/{objectTypeName}/{objectId}/children/{childDocType}/{childDocId}/files
get
Download the file with the specified file ID
Internal-Use OnlyDownloads the file with the specified ID from the child object that is specified in the path./documents/{objectTypeName}/{objectId}/children/{childDocType}/{childDocId}/files/{fileId}/content

Sheets

Contains the operations related to sheets.