Data & AI Common Core

Introduction to common core functionality APIs for Data and AI SaaS products You can use the common core functionality REST APIs for Data and AI SaaS products to work with assets and their workspaces: projects, deployment spaces, and catalogs. Common core functionality is shared among multiple products, such as watsonx as a Service, Cloud Pak for Data as a Service, and others. If you are looking for the common core functionality APIs for software products, see herehttps://cloud.ibm.com/apidocs/data-ai-common-core-cpd. For more information, see these resources: - Documentation for IBM watsonx as a Servicehttps://dataplatform.cloud.ibm.com/docs/content/wsj/getting-started/welcome-main.html?context=wx - Documentation for Cloud Pak for Data as a Servicehttps://dataplatform.cloud.ibm.com/docs/content/wsj/getting-started/welcome-main.html?context=cpdaas Endpoint URL To form a complete API endpoint URL for your request, append the documented API method path to the base URL that matches your product instance location: - Dallas: https://api.dataplatform.cloud.ibm.com - Frankfurt: https://api.eu-de.dataplatform.cloud.ibm.com - London: https://api.eu-gb.dataplatform.cloud.ibm.com - Tokyo: https://api.jp-tok.dataplatform.cloud.ibm.com - Sydney: https://api.au-syd.dai.cloud.ibm.com - Toronto: https://api.ca-tor.dai.cloud.ibm.com Authentication Before you can call a common core API you must first create an IAMhttps://cloud.ibm.com/docs/account?topic=account-iamoverview bearer token. Each token is valid only for one hour, and after a token expires you must create a new one if you want to continue using the API. The recommended method to retrieve a token programmatically is to create an API key for your IBM Cloud identity and then use the IAM token API to exchange that key for a token. You can create a token in IBM Cloud or by using the IBM Cloud command line interface CLI. To create a token in the IBM Cloud: 1. Log in to IBM Cloudhttps://cloud.ibm.com/ and select Manage Access IAM API keys. 2. Create an API key for your own personal identity, copy the key value, and save it in a secure place. After you leave the page, you will no longer be able to access this value. 3. With your API key, set up a REST API tool and run the following command to the right You can read more about managing API keys at Understanding API keyshttps://cloud.ibm.com/docs/account?topic=account-manapikey documentation page. Curl command with API key to retrieve token curl -X POST 'https://iam.cloud.ibm.com/identity/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'granttype=urn:ibm:params:oauth:grant-type:apikey&apikey=MYAPIKEY' Response json { "accesstoken": "eyJhbGciOiJIUz......sgrKIi8hdFs", "refreshtoken": "SPrXw5tBE3......KBQ+luWQVY=", "tokentype": "Bearer", "expiresin": 3600, "expiration": 1473188353 } 4. Use the value of the accesstoken property for your API calls. Set the accesstoken value as the authorization header parameter for requests to the APIs. The format is Authorization: Bearer

MethodPathSummary
POST/v2/asset_containers/archiveArchive the asset container
GET/v2/asset_containers/archive_infoGet archive information of the asset container
GET/v2/asset_containers/configurationsGet configurations
PUT/v2/asset_containers/configurationsReplace or create configurations
POST/v2/asset_containers/restoreRestore the asset container
GET/v2/asset_listsList all asset lists defined for an account
POST/v2/asset_listsCreate a new asset list
DELETE/v2/asset_listsDelete asset lists
GET/v2/asset_lists/{asset_list_id}Retrieve an asset list identified by ID
DELETE/v2/asset_lists/{asset_list_id}Delete an asset list identified by ID
PATCH/v2/asset_lists/{asset_list_id}Update the metadata of an asset list
GET/v2/asset_lists/{asset_list_id}/itemsList the items of an asset list identified by ID
GET/v2/asset_lists/{asset_list_id}/items/{asset_list_item_id}Retrieve an item in an asset list
PATCH/v2/asset_lists/{asset_list_id}/items/{asset_list_item_id}Update an asset list item
GET/v2/asset_relationship_typesSearches for relationship types
POST/v2/asset_relationship_typesCreates an asset relationship type
POST/v2/asset_relationship_types/search_endsSearches for relationship type ends
POST/v2/asset_relationship_types/search_used_endsFinds relationship types that are used by an asset, column or governance artifact
DELETE/v2/asset_relationship_types/{relationship_type_id}deleteRelationshipType
PATCH/v2/asset_relationship_types/{relationship_type_id}Patches a relationship type
GET/v2/asset_typesList all asset types defined for an account, catalog, project or space.
POST/v2/asset_typesCreates an asset type in an account, catalog, project or space.
GET/v2/asset_types/{type_name}Retrieves an asset type of a given name.
PUT/v2/asset_types/{type_name}Replace an asset type
DELETE/v2/asset_types/{type_name}Deletes an asset type
GET/v2/asset_types/{type_name}/relationshipsFinds relationship types for an asset type
POST/v2/asset_types/{type_name}/searchSearch for asset metadata within assets of the specified type
GET/v2/asset_types/{type_name}/statusGet the status of an account scope or global scope asset type.
POST/v2/assetsCreate an asset
GET/v2/assets/bulkGet one or more assets.
DELETE/v2/assets/bulkMarks existing assets for delete
POST/v2/assets/bulk_copyCopies one or more assets and, if deep copy option is on, their related assets from a source container to a target container.
POST/v2/assets/bulk_createCreate one or more assets.
POST/v2/assets/bulk_patchPatch one or more assets.
GET/v2/assets/copy_status/{copy_task_id}Gets the status of asset copy operation
POST/v2/assets/create_object_urlCreate a PUT signed url for an object or a file
GET/v2/assets/deepcopy/{deep_copy_task_id}Gets the status of a deep copy operation
POST/v2/assets/duplicates/bulk_searchBulk search duplicate assets
POST/v2/assets/duplicates/searchSearch duplicate assets
GET/v2/assets/ibm_data_sourceGet an ibm_data_source asset
POST/v2/assets/publishPublish an asset from a project which is only referenced in that project
GET/v2/assets/{asset_id}Get an asset
DELETE/v2/assets/{asset_id}Marks an existing asset for delete
PATCH/v2/assets/{asset_id}Update an asset
POST/v2/assets/{asset_id}/cloneClone an asset
PATCH/v2/assets/{asset_id}/collaboratorsAdd/Update asset collaborators
POST/v2/assets/{asset_id}/deepcopyDeep copies an asset and its related assets to a catalog, project, or space
PUT/v2/assets/{asset_id}/ownerUpdate the owner of an asset
PUT/v2/assets/{asset_id}/permsExample Update Asset ROV Mode response.
POST/v2/assets/{asset_id}/promotePromote an asset
POST/v2/assets/{asset_id}/publishPublish an asset
POST/v2/assets/get_relationshipsFinds related assets
POST/v2/assets/search_relationshipsSearches for relationships
POST/v2/assets/set_relationshipsCreate asset relationships
POST/v2/assets/unset_relationshipsDeletes asset relationships
GET/v2/assets/{asset_id}/relationship_typesFinds relationship types used by an asset
GET/v2/assets/{asset_id}/relationshipsFinds related assets
PUT/v2/assets/{asset_id}/relationships/{relationship_name}Create asset relationships
DELETE/v2/assets/{asset_id}/relationships/{relationship_name}Deletes asset relationships
HEAD/v2/assets/{asset_id}/relationships/{relationship_name}Determine if a relationship exists between an asset and a target asset or governance artifact
POST/v2/assets/{asset_id}/relationships/{relationship_name}/existsDetermine if a relationship exists between an asset and a target asset or governance artifact
POST/v2/assets/{asset_id}/attachmentsCreate an attachment
GET/v2/assets/{asset_id}/attachments/{attachment_id}Get an attachment
DELETE/v2/assets/{asset_id}/attachments/{attachment_id}Delete an attachment
PATCH/v2/assets/{asset_id}/attachments/{attachment_id}Update attachment metadata
POST/v2/assets/{asset_id}/attachments/{attachment_id}/completeMark an attachment as transfer complete
PATCH/v2/assets/{asset_id}/attachments/{attachment_id}/datasource_typeAuto update attachment's datasource_type from connection asset
GET/v2/assets/{asset_id}/attachments/{attachment_id}/resourcesGet resources info for an attachment
PUT/v2/assets/{asset_id}/attachments/{attachment_id}/resourcesIncrease resources for an attachment
GET/v2/assets/{asset_id}/attributesList all attributes
POST/v2/assets/{asset_id}/attributesCreate an attribute
GET/v2/assets/{asset_id}/attributes/{attribute_key}Get an attribute
DELETE/v2/assets/{asset_id}/attributes/{attribute_key}Delete an attribute
PATCH/v2/assets/{asset_id}/attributes/{attribute_key}Update attributes
GET/v2/assets/{asset_id}/conflictsGet asset document conflicts
DELETE/v2/assets/{asset_id}/conflictsDelete asset document conflicts
GET/v2/assets/{asset_id}/imagesGet the image of asset
PUT/v2/assets/{asset_id}/imagesUpload an image for asset
DELETE/v2/assets/{asset_id}/images/{image_id}Delete the image of asset
GET/v2/assets/{asset_id}/notesGet asset or column notes
POST/v2/assets/{asset_id}/notesCreate notes on an asset
GET/v2/assets/{asset_id}/notes/{note_id}Get an asset or column note
DELETE/v2/assets/{asset_id}/notes/{note_id}Delete an asset or a column note
PATCH/v2/assets/{asset_id}/notes/{note_id}Update an asset or column note
GET/v2/assets/{asset_id}/ratingsGet ratings of an asset
POST/v2/assets/{asset_id}/ratingsRate an asset
GET/v2/assets/{asset_id}/ratings/statsGet the count of each rating value for the specified asset
DELETE/v2/assets/{asset_id}/ratings/{asset_rating_id}Delete an asset rating
PATCH/v2/assets/{asset_id}/ratings/{asset_rating_id}Use this API to update an asset rating.
GET/v2/assets/{asset_id}/revisionsGet a list of revisions for an asset
POST/v2/assets/{asset_id}/revisionsCommit a revision of an asset
DELETE/v2/assets/{asset_id}/revisionsDelete a revision
GET/v2/catalogsList all catalogs for a specific account
POST/v2/catalogsCreate a catalog
GET/v2/catalogs/defaultRetrieve the default catalog
POST/v2/catalogs/defaultCreate the default catalog
POST/v2/catalogs/default/rehomeRehome one or more synced assets.
GET/v2/catalogs/default/rehome/statusMonitor status of rehome task
GET/v2/catalogs/{catalog_id}Get a catalog by catalog ID
DELETE/v2/catalogs/{catalog_id}Delete a catalog by catalog ID
PATCH/v2/catalogs/{catalog_id}Update catalog
GET/v2/catalogs/{catalog_id}/propertiesList all properties of a catalog
PATCH/v2/catalogs/{catalog_id}/propertiesUpdate catalog properties
GET/v2/catalogs/{catalog_id}/properties/{property_key}Get a single property in a catalog
PATCH/v2/catalogs/{catalog_id}/reconfigureUpdate catalog connections
GET/v2/catalogs/{catalog_id}/stateGet the catalog state
POST/v2/catalogs/export_assetsExport as a zip file containing appropriate csv files for the selected assets
POST/v2/catalogs/import_assetsProcess an import asset
POST/v2/catalogs/temporary_credentialsRequest temporary security credentials
GET/v2/catalogs/{catalog_id}/membersList all members of the catalog
POST/v2/catalogs/{catalog_id}/membersAdd members to a catalog
DELETE/v2/catalogs/{catalog_id}/members/bulkDelete members from a catalog
POST/v2/data_assetsCreate a data asset
GET/v2/data_assets/{data_asset_id}Get a data asset
GET/v2/data_assets/{data_asset_id}/columnsGet columns of a data asset
POST/v2/folder_assetsCreate a folder asset
GET/v2/folder_assets/{asset_id}Get a folder asset
GET/v2/folder_assets/{asset_id}/contentsGet a signed URL of an item to be downloaded
GET/v2/trashed_assetsList all assets in the trash (Marked for delete)
GET/v2/trashed_assets/countGet count of all assets in the trash (Marked for delete)
DELETE/v2/trashed_assets/purge_allDelete all assets from trash
GET/v2/trashed_assets/{asset_id}Get a soft-deleted object from trash
DELETE/v2/trashed_assets/{asset_id}Delete an asset from the trash
POST/v2/trashed_assets/{asset_id}/restoreRestore an asset from the trash
GET/v2/connectionsList defined connections
POST/v2/connectionsDefine connection
GET/v2/connections/{connection_id}Get connection
DELETE/v2/connections/{connection_id}Delete connection
PATCH/v2/connections/{connection_id}Update connection
POST/v2/connections/assetsDiscover assets
GET/v2/connections/{connection_id}/assetsDiscover assets
GET/v2/connections/assets/{data_asset_id}Discover data asset
GET/v2/connections/{connection_id}/actionsList actions
PUT/v2/connections/{connection_id}/actions/{action_name}Perform action
GET/v2/connections/files/{file_name}Download a custom JDBC driver jar file
POST/v2/connections/files/{file_name}Upload a custom JDBC driver jar file (deprecated - use /v2/connections/streamed_files instead)
DELETE/v2/connections/files/{file_name}Delete a custom JDBC driver jar file
GET/v2/connections/filesList custom JDBC drivers jar files
GET/v2/datasource_typesList defined types of data sources
POST/v2/datasource_typesDefine data source type
GET/v2/datasource_types/{datasource_type}Get details for type of data source
DELETE/v2/datasource_types/{datasource_type}Delete data source type
PATCH/v2/datasource_types/{datasource_type}Update datasource type
GET/v2/environmentsList environments.
POST/v2/environmentsCreate a new environment.
GET/v2/environments/{environment_guid}Retrieve an environment.
DELETE/v2/environments/{environment_guid}Delete an environment.
PATCH/v2/environments/{environment_guid}Update an environment.
GET/v2/hardware_specificationsList hardware specifications.
POST/v2/hardware_specificationsCreate a new hardware specification.
GET/v2/hardware_specifications/{hardware_specification_guid}Retrieve a hardware specification.
DELETE/v2/hardware_specifications/{hardware_specification_guid}Delete a hardware specification.
PATCH/v2/hardware_specifications/{hardware_specification_guid}Update a hardware specification.
GET/v2/software_specificationsList software specifications.
POST/v2/software_specificationsCreate a new software specification.
PATCH/v2/software_specifications/{software_specification_guid}Update a software specification.
GET/v2/software_specifications/{software_specification_guid}Retrieve a software specification.
DELETE/v2/software_specifications/{software_specification_guid}Delete a software specification.
PUT/v2/software_specifications/{software_specification_guid}/package_extensions/{package_extension_guid}Add a package extension to a software specification.
DELETE/v2/software_specifications/{software_specification_guid}/package_extensions/{package_extension_guid}Remove a package extension from a software specification.
GET/v2/package_extensionsList package extensions.
POST/v2/package_extensionsCreate a new package extension.
POST/v2/package_extensions/{package_extension_guid}/upload_completeMark file upload complete.
PATCH/v2/package_extensions/{package_extension_guid}Update a package extension.
GET/v2/package_extensions/{package_extension_guid}Retrieve a package extension.
DELETE/v2/package_extensions/{package_extension_guid}Delete a package extension.
POST/v3/search/update_by_queryA update operation allowing you to update artifacts based on a simple query.
GET/v3/searchExecute a query based on the Lucene Syntax
POST/v3/searchStructured search query conforming to the Elasticsearch Domain Specific Language.
GET/v3/search/search_facetThis API will return all available pre search filters
GET/v2/jobsGet list of jobs under a project or a space.
POST/v2/jobsCreate a new job.
GET/v2/jobs/{job_id}Get the information of job identified by the ID.
DELETE/v2/jobs/{job_id}Delete a specific job.
PATCH/v2/jobs/{job_id}Update information of a job.
GET/v2/jobs/serving_name/{serving_name}Get the availability of a given serving_name
GET/v2/jobs/{job_id}/runsGet list of runs of a job.
POST/v2/jobs/{job_id}/runsStart a run for a job.
GET/v2/jobs/{job_id}/runs/{run_id}Get a specific run of a job.
DELETE/v2/jobs/{job_id}/runs/{run_id}Delete a run.
GET/v2/jobs/{job_id}/runs/{run_id}/logsRetrieve runtime log of a run.
POST/v2/jobs/{job_id}/runs/{run_id}/cancelCancel a run.
POST/v2/jobs/{job_id}/runs/{run_id}/pausePause a run.
POST/v2/jobs/{job_id}/runs/{run_id}/resumeResume a run.
GET/v2/projectsList projects
GET/v2/projects/totalGet project total
GET/v2/projects/{project_id}Get project
PATCH/v2/projects/{project_id}Update project
GET/v2/projects/{project_id}/membersList members
POST/v2/projects/{project_id}/membersCreate members
DELETE/v2/projects/{project_id}/membersDelete members
PATCH/v2/projects/{project_id}/membersUpdate members
GET/v2/projects/{project_id}/members/{user_name}Get member
DELETE/v2/projects/{project_id}/members/{user_name}Delete member
PATCH/v2/projects/{project_id}/storage/propertiesUpdate project storage properties
GET/v2/projects/{project_id}/tagsList tags
POST/v2/projects/{project_id}/tagsCreate tags
DELETE/v2/projects/{project_id}/tagsDelete tags
PATCH/v2/projects/{project_id}/tagsUpdate tags
POST/v2/projects/{project_id}/tags/{tag_name}Create tag
DELETE/v2/projects/{project_id}/tags/{tag_name}Delete tag
GET/v2/projects/{project_id}/settings/audit_eventsGet audit events settings
PUT/v2/projects/{project_id}/settings/audit_eventsUpdate audit events settings
GET/v2/projects/{project_id}/settings/access_restrictionsGet access restrictions settings
PUT/v2/projects/{project_id}/settings/access_restrictionsUpdate access restrictions settings
GET/v2/projects/{project_id}/settings/foldersGet folders settings
PUT/v2/projects/{project_id}/settings/foldersUpdate folders settings
GET/v2/projects/{project_id}/integrations/jupyterlabGet JupyterLab integration
PUT/v2/projects/{project_id}/integrations/jupyterlabUpdate JupyterLab integration
DELETE/v2/projects/{project_id}/integrations/jupyterlabDelete JupyterLab integration
GET/v2/projects/{project_id}/tokensList tokens
POST/v2/projects/{project_id}/tokensCreate token
DELETE/v2/projects/{project_id}/tokensRevoke all tokens
GET/v2/projects/{project_id}/tokens/{token_id}Get token
DELETE/v2/projects/{project_id}/tokens/{token_id}Revoke token
GET/v2/projects/tokens/introspectIntrospect token
POST/v2/spacesCreate a new space
GET/v2/spacesRetrieve the spaces
GET/v2/spaces/{space_id}Retrieve the space
DELETE/v2/spaces/{space_id}Delete the space
PATCH/v2/spaces/{space_id}Update the space
GET/v2/spaces/{space_id}/membersRetrieve the space members
POST/v2/spaces/{space_id}/membersAdd a member to space
GET/v2/spaces/{space_id}/members/{member_id}Retrieve the space member information
DELETE/v2/spaces/{space_id}/members/{member_id}Remove the space member
PATCH/v2/spaces/{space_id}/members/{member_id}Update the space member
GET/v2/asset_exportsRetrieve the asset exports
POST/v2/asset_exportsStart the asset export process
DELETE/v2/asset_exports/{export_id}Cancel the asset export process
GET/v2/asset_exports/{export_id}Retrieve the asset export
GET/v2/asset_exports/{export_id}/contentDownload the asset export content
GET/v2/asset_importsRetrieve the asset imports
POST/v2/asset_importsStart the asset import process
DELETE/v2/asset_imports/{import_id}Cancel the asset import process
GET/v2/asset_imports/{import_id}Retrieve the asset import
POST/transactional/v2/projectsCreate project as a transaction
DELETE/transactional/v2/projects/{project_id}Delete project as a transaction
GET/transactional/v2/projects/{project_id}/transactions/{transaction_id}Get status of import transaction