### GET /api/example-data Source: https://api.entropy-data.com/openapi.yaml Get all example data of an organization. Optionally filter by data product, output port, or data contract. ```markdown ### Parameters - **dataProductId** (string (uuid), query, optional): Filter by data product ID. - **outputPortId** (string (uuid), query, optional): Filter by output port ID. - **dataContractId** (string (uuid), query, optional): Filter by data contract ID. ### Responses #### 200 - A list of example data entries - Array of ExampleData ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/example-data?dataProductId=string&outputPortId=string&dataContractId=string" ``` ``` -------------------------------- ### GET /api/dataproducts/{id} Source: https://api.entropy-data.com/openapi.yaml Get a data product by its ID. The data product contains all its output ports. This endpoints supports [Open Data Product Standard](https://github.com/bitol-io/open-data-product-standard) or [Data Product Specification](https://dataproduct-specification.com) payloads. You find both formats in the schemas below.. Explore the examples and schema specifications for differences between the two formats. When using the SDK you have to handle parsing into the correct schema object by yourself. We recommend using the "kind" property in ODPS and/or the "dataProductSpecification" property in DPS to detect the current payload. ```markdown ### Parameters - **id** (string, path, required): An organizational unique technical identifier for this data product, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed. ### Responses #### 200 - The data product #### 404 - Data product not found Data product not found ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/dataproducts/{id}" ``` ``` -------------------------------- ### GET /api/example-data/{id} Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/example-data/{id} ```markdown ### Responses #### 200 - The example data entry **ExampleData** - **id** (string) (required): A unique identifier for this example data entry. (example: "order-service-orders") - **dataProductId** (string (uuid)) (required): The ID of the data product this example data belongs to. - **outputPortId** (string (uuid)): The ID of the output port this example data belongs to. - **dataContractId** (string (uuid)): The ID of the data contract this example data belongs to. - **schemaName** (string): The schema name to group example data entries. (example: "orders") - **data** (unknown): The example data. Can be a JSON object or a JSON array. #### 404 - Example data not found Example data not found ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/example-data/{id}" ``` ``` -------------------------------- ### GET /api/sourcesystems Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/sourcesystems ```markdown ### Parameters - **p** (integer, query, optional): The number of the requested page, starting from 0. Each page contains a maximum of 1000 source systems, sorted by creation date ascending. Use the Link header with rel="next" to navigate to the next page. ### Responses #### 200 - List of source systems - Array of SourceSystem ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/sourcesystems?p=0" ``` ``` -------------------------------- ### GET /api/assets Source: https://api.entropy-data.com/openapi.yaml Get all data products of an organization. ```markdown ### Parameters - **p** (integer, query, optional): The number of the requested page, starting from 0. Each page contains a maximum of 1000 assets, sorted by creation date ascending. Use the Link header with rel="next" to navigate to the next page. ### Responses #### 200 - List of all data assets - Array of Asset ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/assets?p=0" ``` ``` -------------------------------- ### GET /api/sourcesystems/{id} Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/sourcesystems/{id} ```markdown ### Responses #### 200 - The source system **SourceSystem** - **id** (string) (required): An organizational unique technical identifier for this source system. Must be same as the path parameter. (example: "stock-service") - **name** (string) (required): The display name of this source system (example: "Stock Service") - **owner** (string) (required): The technical id of the team that owns the source system. (example: "fulfillment") - **description** (string): A description of the source system (example: "This is the stock service") - **tags** (array (string)): List of tags (example: ["dev","marketing"]) - **links** (object): Links are used to reference external resources. You can add any links. (example: {"homepage":"https://example.com/teams/checkout"}) - **custom** (object): Custom fields can be used to add additional information to the source system. (example: {"slack-channel":"checkout-public"}) #### 404 - Source system not found Source system not found ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/sourcesystems/{id}" ``` ``` -------------------------------- ### GET /api/connectors Source: https://api.entropy-data.com/openapi.yaml Get all connectors of an organization. ```markdown ### Responses #### 200 - List of all connectors - Array of Connector ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/connectors" ``` ``` -------------------------------- ### GET /api/dataproducts Source: https://api.entropy-data.com/openapi.yaml Get all data products of an organization. For performance reasons, this endpoint may return only top-level properties of the data products. Use the GET /api/dataproducts/{id} endpoint to get all details. ```markdown ### Parameters - **q** (string, query, optional): Search term to filter data products. Searches in the id, title, and description. Multiple search terms are supported, separated by space. - **teamId** (string, query, optional): Filter for data products owned by specific teams. Repeat the parameter to filter by multiple teams. - **domainId** (string, query, optional): Filter for data products in specific domains. Repeat the parameter to filter by multiple domains. - **archetype** (string, query, optional): Filter for specific types. - **status** (string, query, optional): Filter for specific status. - **tag** (string, query, optional): Filter for specific tags. - **sort** (string, query, optional): Field to sort by, default is creation date. - **p** (integer, query, optional): The number of the requested page, starting from 0. Each page contains a maximum of 1000 data products, sorted by creation date ascending. Use the Link header with rel="next" to navigate to the next page. ### Responses #### 200 - List of data products. This endpoints supports [Open Data Product Standard](https://github.com/bitol-io/open-data-product-standard) or [Data Product Specification](https://dataproduct-specification.com) payloads. You find both formats in the schemas below.. Explore the examples and schema specifications for differences between the two formats. When using the SDK you have to handle parsing into the correct schema object by yourself. We recommend using the "kind" property in ODPS and/or the "dataProductSpecification" property in DPS to detect the current payload. - Array of object ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/dataproducts?q=string&teamId=string&domainId=string&archetype=string&status=string&tag=string&sort=string&p=0" ``` ``` -------------------------------- ### GET /api/definitions Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/definitions ```markdown ### Parameters - **p** (integer, query, optional): The number of the requested page, starting from 0. Each page contains a maximum of 1000 definitions, sorted by creation date ascending. Use the Link header with rel="next" to navigate to the next page. ### Responses #### 200 - List of definitions - Array of Definition ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/definitions?p=0" ``` ``` -------------------------------- ### GET /api/settings/customization Source: https://api.entropy-data.com/openapi.yaml Get the customization YAML for the organization. Requires an organization-scoped API key. ```markdown ### Responses #### 200 - The customization YAML or JSON **Customization** - **dataProduct** (object): Data product customization settings - **customFilters** (array (object)): Custom filters for data product lists Array items: - **displayName** (string): The display name for the filter - **customField** (string): The custom field to filter by - **dataContract** (object): Data contract editor customization settings #### 403 - API key does not have organization scope API key does not have organization scope ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/settings/customization" ``` ``` -------------------------------- ### GET /api/assets/{id} Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/assets/{id} ```markdown ### Responses #### 200 - The Asset **Asset** - **id** (string): An organizational unique technical identifier for this definition. Must be same as the path parameter. (example: "047bde7c-87d4-488a-b6d2-cef6f6f60001") - **info** (object): Information about the asset. - **owner** (string): The owner of the definition (the ID of a team). It is optional, but if it is set, it must be an existing team ID. (example: "team-456") - **source** (string): The source of the asset. (example: "snowflake") - **sourceId** (string): The source identifier of the asset. (example: "047bde7c-87d4-488a-b6d2-cef6f6f60001") - **sourceUrl** (string): The URL of the source. (example: "https://example.com/my-database/my-asset") - **type** (string): The type of the asset. For example snowflow_schema, databricks_table, ... (example: "snowflake_table") - **name** (string): The display name of the asset. Typically the last segment of the qualified name. (example: "my_table") - **qualifiedName** (string): The qualified name of the asset. (example: "ORDERDB.PUBLIC.my_table") - **version** (string): The version of the asset. (example: "0") - **status** (string): The status of the asset. (example: "active") - **description** (string): A description of the asset. (example: "This is a description.") - **properties** (object): Deprecated: use `custom` instead. Additional properties of the asset. (example: {"account":"my_account","database":"ORDERDB","schema":"PUBLIC","table":"my_table"}) - **custom** (object): Additional custom properties of the asset. Can be a string or a complex object. (example: {"account":"my_account","database":"ORDERDB","schema":"PUBLIC","table":"my_table"}) - **columns** (array (AssetColumn)): If the asset type has a schema (such as a table or structured files), define the columns. Columns support nested structures via `properties` (for object/record types) and `items` (for array types). Array items: - **name** (string) (required): The name of the column. (example: "orderId") - **type** (string) (required): The type of the column from the type system of the data source (e.g., Avro types for Kafka, SQL types for databases). (example: "string") - **description** (string): A description of the column. (example: "Unique order identifier") - **required** (boolean): Whether this column is required. - **unique** (boolean): Whether this column must contain unique values. - **primaryKey** (boolean): Whether this column is a primary key. - **properties** (array (AssetColumn)): Nested columns for object/record types. Use this to define the fields of a structured column. Array items: - **items** (object) - **qualifiedName** (string): Deprecated: use a custom property instead. The qualified name of the column. (example: "db.schema.table.column") - **tags** (array (string)): Tags associated with the column. (example: ["pii","financial"]) - **links** (object): Links associated with the column. - **custom** (object): Additional custom properties of the column. - **relationships** (array (object)): The relationships of the asset to other assets. A relationship from a child to its parent with relationshipType `parent` allows you to generate a datacontract with this relationship represented. Children will appear as such in the UI automatically. Array items: - **relationshipType** (string): The type of the relationship. Use `parent` to define a parent-child relationship. (example: "parent") - **assetId** (string): The ID of the related asset (it should also be in the system). (example: "047bde7c-87d4-488a-b6d2-cef6f6f60003") - **tags** (array (string)): Tags associated with the asset. (example: ["pii:true","classification:Full Name"]) - **assignedTags** (array (string)): Tags associated with the asset via UI. (example: ["pii:true","governance/internal"]) - **links** (object): Links associated with the asset. (example: {"Purview Data Map":"https://link1.com","Azure SQL Explorer":"https://link2.com"}) #### 404 - Asset not found Asset not found ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/assets/{id}" ``` ``` -------------------------------- ### GET /api/scim/v2/Schemas Source: https://api.entropy-data.com/openapi.yaml Retrieves all available SCIM schemas. ```markdown ### Responses #### 200 - Successfully retrieved schemas **ScimListResponseSchemas** - **totalResults** (integer): The total number of resources returned by the query. - **itemsPerPage** (integer): The number of resources returned per page. - **startIndex** (integer): The 1-based index of the first resource in the returned page. - **schemas** (array (string)) - **Resources** (array (ScimSchema)) Array items: - **schemas** (array (string)) - **id** (string): The ID of the schema. - **name** (string): The name of the schema. - **description** (string): A description of the schema. - **attributes** (array (ScimSchemaAttribute)) Array items: - **name** (string): The name of the attribute. (example: "userName") - **type** (string): The data type of the attribute. (example: "string") - **multiValued** (boolean): Whether the attribute can have multiple values. (example: false) - **description** (string): A description of the attribute. (example: "Email address of the user") - **required** (boolean): Whether the attribute is required. (example: true) - **caseExact** (boolean): Whether case must be matched exactly. (example: false) - **mutability** (string): The mutability of the attribute (readOnly, readWrite, immutable, writeOnly). (example: "readOnly") - **returned** (string): When the attribute is returned (always, never, default, request). (example: "default") - **uniqueness** (string): Whether the attribute value must be unique (none, server, global). (example: "server") - **subAttributes** (array (ScimSchemaAttribute)) Array items: - **canonicalValues** (array (string)): A list of canonical values. - **referenceTypes** (array (string)): A list of reference types. - **meta** (object) - **resourceType** (string): The type of the resource. - **created** (string (date-time)): The date and time the resource was created. - **lastModified** (string (date-time)): The date and time the resource was last modified. - **location** (string): The location of the resource. - **version** (string): The version of the resource. ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/scim/v2/Schemas" ``` ``` -------------------------------- ### GET /api/definitions/{id} Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/definitions/{id} ```markdown ### Responses #### 200 - The definition **Definition** - **id** (string) (required): An organizational unique technical identifier for this definition. Must be same as the path parameter. (example: "checkout/customer_name") - **owner** (string) (required): The owner of the definition (the ID of a team). (example: "checkout") - **title** (string): The business name of this definition. (example: "Customer Name") - **description** (string): Clear and concise explanations related to the domain. (example: "The full name of the customer, including first and last name.") - **type** (string): The logical data type. (example: "string") - **enum** (array (string)): A list of possible values. (example: ["make","buy","ignore"]) - **minLength** (number): A value must be greater than or equal to this value. Applies only to string types. (example: 1) - **maxLength** (number): A value must be less than or equal to this value. Applies only to string types. (example: 100) - **minimum** (number): A value must be greater than or equal to this value. Applies only to numeric types. (example: 0) - **maximum** (number): A value must be less than or equal to this value. Applies only to numeric types. (example: 100) - **exclusiveMinimum** (number): A value must be greater than this value. Applies only to numeric types. (example: 0) - **exclusiveMaximum** (number): A value must be less than this value. Applies only to numeric types. (example: 100) - **format** (string): Specific format requirements for the value (e.g., 'email', 'uri', 'uuid'). (example: "email") - **pattern** (string): A regular expression pattern the value must match. Applies only to string types. (example: "^[a-zA-Z0-9_]*$") - **example** (string): An example value. (example: "John Doe") - **pii** (boolean): Indicates if the field contains Personal Identifiable Information (PII). (example: true) - **classification** (string): The data class defining the sensitivity level for this field. (example: "sensitive") - **tags** (array (string)): Custom metadata to provide additional context. (example: ["customer","name"]) #### 404 - Definition not found Definition not found ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/definitions/{id}" ``` ``` -------------------------------- ### GET /api/certifications/{id} Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/certifications/{id} ```markdown ### Responses #### 200 - The certification **Certification** - **id** (string (uuid)) (required): The UUID of the certification. Must be same as the path parameter. - **name** (string) (required): The display name of the certification (example: "Gold") - **rank** (integer): The rank of the certification, used for ordering (example: 1) - **description** (string): A description of the certification (example: "Gold certified data product") - **criteria** (string): The criteria for achieving this certification (example: "Must pass all quality checks") - **tag** (string) (required): The external ID of the tag associated with this certification (example: "certification-gold") - **icon** (string): The icon for the certification (example: "star") - **restricted** (boolean): Whether this certification can only be assigned by governance (example: false) #### 404 - Certification not found Certification not found ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/certifications/{id}" ``` ``` -------------------------------- ### GET /api/access/{id} Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/access/{id} ```markdown ### Responses #### 200 - The acess resource **Access** - **id** (string) (required): The technical identifier. (example: "640864de-83d4-4619-afba-ccea8037ed3a") - **info** (object) (required) - **purpose** (string) (required): The purpose describes the reason and the context on why the consumer wants to consume the data. (example: "Use orders to calculate payment amount") - **individualAgreements** (string): The individual agreements describe any individual agreements between the provider and the consumer. (example: "Free for the first three months.") - **status** (string (requested|approved|rejected)): Approval workflow status of the usage agreement. Managed by Entropy Data (example: "approved") ("requested"|"approved"|"rejected") - **active** (boolean): The data usage agreement is active if it is approved and the current date is between start and end date. Managed by Entropy Data (example: true) - **startDate** (string (date)): The start date, when an approved data usage agreement becomes active. (example: "2023-01-01") - **endDate** (string (date)): The end date, when an approved and active data usage agreement becomes inactive again. (example: "2023-01-01") - **nextReassessmentDate** (string (date)): The next reassessment date, when the data usage agreement needs to be reassessed. (example: "2023-01-01") - **provider** (object) (required) - **dataProductId** (string) (required): A technical identifier for the provided data product. ! If the provider dataproduct is deleted, "unknown" is returned. (example: "snowflake_orders_v2") - **outputPortId** (string) (required): A technical identifier for the provided output port. ! If the provider outputport is deleted, "unknown" is returned. (example: "snowflake_search_queries_all_npii_v1") - **teamId** (string): A technical identifier for the team providing the data product. (example: "orders-team") - **dataContractId** (string): The identifier of the data contract at the time of the access request. (example: "snowflake_orders_pii_v2") - **dataContractVersion** (string): The version of the data contract at the time of the access request. (example: "1.0.0") - **roles** (array (string)): The roles requested by the consumer. Available roles are defined in the data contract. (example: ["orders.analyst.eu.read","orders.analyst.us.read"]) - **consumer** (object) (required) - **dataProductId** (string) (required) (example: "user_profiles") - **teamId** (string) (example: "marketing-team") - **tags** (array (string)): Tags are used to categorize data usage agreements. (example: ["business-critical","marketing"]) - **links** (object): Links are used to reference external resources, such as schemas or the dataset in a data catalog. (example: {"schema":"https://catalog.example.com/search/search-queries","catalog":"https://catalog.example.com/search/search-queries/"}) - **custom** (object): Custom fields can be used to add additional information to the data usage agreement. #### 404 - Access not found Access not found ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/access/{id}" ``` ``` -------------------------------- ### GET /api/dataproducts/{id}/gitconnection Source: https://api.entropy-data.com/openapi.yaml Returns the git connection details including sync status and web link. ```markdown ### Responses #### 200 - Git connection details **GitConnectionResponse** - **gitConnectionId** (string (uuid)): Unique identifier of the git connection. - **gitCredentialExternalId** (string): The `externalId` of the git credential used for this connection, if one was specified. (example: "my-github-ci") - **gitConnectionType** (string (github|gitlab|bitbucket|azuredevops)): The type of git provider. (example: "github") ("github"|"gitlab"|"bitbucket"|"azuredevops") - **host** (string): The host of a self-hosted git provider instance. Null for SaaS providers. (example: "https://gitlab.example.com") - **repositoryUrl** (string): The URL of the Git repository. (example: "https://github.com/my-org/data-contracts") - **repositoryBranch** (string): The branch of the Git repository. (example: "main") - **repositoryPath** (string): The path to the YAML file in the repository. (example: "contracts/my-contract.yaml") - **syncStatus** (string (UP_TO_DATE|LOCAL_IS_NEWER|REMOTE_IS_NEWER|CONFLICT)): The sync status between the data contract and the Git file. (example: "UP_TO_DATE") ("UP_TO_DATE"|"LOCAL_IS_NEWER"|"REMOTE_IS_NEWER"|"CONFLICT") - **webLink** (string): A web link to the file in the Git provider UI. (example: "https://github.com/my-org/data-contracts/blob/main/contracts/my-contract.yaml") - **lastHash** (string): The last known commit hash of the file. (example: "abc123def456") #### 404 - Data product or git connection not found Data product or git connection not found ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/dataproducts/{id}/gitconnection" ``` ``` -------------------------------- ### GET /api/scim/v2/ResourceTypes Source: https://api.entropy-data.com/openapi.yaml Retrieves all available SCIM resource types. ```markdown ### Responses #### 200 - Successfully retrieved resource types **ScimListResponseResourceTypes** - **totalResults** (integer): The total number of resources returned by the query. - **itemsPerPage** (integer): The number of resources returned per page. - **startIndex** (integer): The 1-based index of the first resource in the returned page. - **schemas** (array (string)) - **Resources** (array (ScimResourceType)) Array items: - **schemas** (array (string)) - **id** (string): The ID of the resource type. (example: "User") - **name** (string): The name of the resource type. (example: "User") - **description** (string): A description of the resource type. (example: "User Account") - **endpoint** (string): The endpoint where this resource type can be accessed. (example: "/Users") - **schema** (string): The schema associated with this resource type. (example: "urn:ietf:params:scim:schemas:core:2.0:User") - **schemaExtensions** (array (ScimSchemaExtension)) Array items: - **schema** (string): The schema extension URI. - **required** (boolean): Whether this schema extension is required. - **meta** (object) - **resourceType** (string): The type of the resource. - **created** (string (date-time)): The date and time the resource was created. - **lastModified** (string (date-time)): The date and time the resource was last modified. - **location** (string): The location of the resource. - **version** (string): The version of the resource. ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/scim/v2/ResourceTypes" ``` ``` -------------------------------- ### GET /api/scim/v2/ServiceProviderConfig Source: https://api.entropy-data.com/openapi.yaml Retrieves information about the SCIM service provider's configuration. ```markdown ### Responses #### 200 - Successfully retrieved service provider configuration **ScimServiceProviderConfig** - **schemas** (array (string)) - **documentationUri** (string): A URI pointing to human-readable documentation of the service provider. - **patch** (object) - **supported** (boolean): Whether the feature is supported. (example: false) - **bulk** (object) - **filter** (object) - **supported** (boolean): Whether filtering is supported. (example: true) - **maxResults** (integer): The maximum number of results the server will return. (example: 200) - **changePassword** (object) - **sort** (object) - **etag** (object) - **authenticationSchemes** (array (ScimAuthenticationScheme)) Array items: - **name** (string): The name of the authentication scheme. (example: "OAuth Bearer Token") - **description** (string): A description of the authentication scheme. (example: "Authentication scheme using the OAuth Bearer Token Standard") - **specUri** (string): A URI pointing to the specification of this authentication scheme. (example: "https://tools.ietf.org/html/rfc6750") - **type** (string): The type of authentication (e.g., oauth, oauth2, oauthbearertoken). (example: "oauthbearertoken") - **primary** (boolean): Whether this is the primary authentication scheme. (example: true) - **meta** (object) - **resourceType** (string): The type of the resource. - **created** (string (date-time)): The date and time the resource was created. - **lastModified** (string (date-time)): The date and time the resource was last modified. - **location** (string): The location of the resource. - **version** (string): The version of the resource. ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/scim/v2/ServiceProviderConfig" ``` ``` -------------------------------- ### PUT /api/example-data/{id} Source: https://api.entropy-data.com/openapi.yaml API endpoint for PUT /api/example-data/{id} ```markdown ### Request Body **Content-Type:** application/json - **id** (string) (required): A unique identifier for this example data entry. (example: "order-service-orders") - **dataProductId** (string (uuid)) (required): The ID of the data product this example data belongs to. - **outputPortId** (string (uuid)): The ID of the output port this example data belongs to. - **dataContractId** (string (uuid)): The ID of the data contract this example data belongs to. - **schemaName** (string): The schema name to group example data entries. (example: "orders") - **data** (unknown): The example data. Can be a JSON object or a JSON array. ### Responses #### 200 - Example data created or updated Empty response body #### 413 - Payload exceeds 1MB limit Payload exceeds 1MB limit #### 422 - dataProductId is required dataProductId is required ### Example Usage ```bash curl -X PUT "https://api.entropy-data.com/api/example-data/{id}" \ -H "Content-Type: application/json" \ -d '{ "id": "order-service-orders", "dataProductId": "string", "outputPortId": "string", "dataContractId": "string", "schemaName": "orders", "data": "value" }' ``` ``` -------------------------------- ### Schema: ExampleData Source: https://api.entropy-data.com/openapi.yaml Schema definition for ExampleData ```markdown ## Schema: ExampleData Schema definition for ExampleData **Type:** object - **id** (string) (required): A unique identifier for this example data entry. (example: "order-service-orders") - **dataProductId** (string (uuid)) (required): The ID of the data product this example data belongs to. - **outputPortId** (string (uuid)): The ID of the output port this example data belongs to. - **dataContractId** (string (uuid)): The ID of the data contract this example data belongs to. - **schemaName** (string): The schema name to group example data entries. (example: "orders") - **data** (unknown): The example data. Can be a JSON object or a JSON array. ``` -------------------------------- ### POST /api/dataproducts/import/git Source: https://api.entropy-data.com/openapi.yaml Fetches a YAML file from a Git repository, creates or updates a data product, and establishes a Git connection. Credentials are resolved either explicitly via `gitCredentialExternalId` or implicitly via `gitConnectionType`/`host` matching through the credential hierarchy. ```markdown ### Request Body **Content-Type:** application/json - **gitCredentialExternalId** (string): The `externalId` of a git credential to use for authentication. When set, credentials are resolved by this identifier instead of by `gitConnectionType`/`host` matching. (example: "my-github-ci") - **gitConnectionType** (string (github|gitlab|bitbucket|azuredevops)): The type of git provider. Required when `gitCredentialExternalId` is not provided. When both are provided, the value is validated against the resolved credential's type. (example: "github") ("github"|"gitlab"|"bitbucket"|"azuredevops") - **host** (string): The host of a self-hosted git provider instance. Required for self-hosted providers, omit for SaaS. When `gitCredentialExternalId` is provided, validated against the resolved credential's host. (example: "https://gitlab.example.com") - **repositoryUrl** (string) (required): The URL of the Git repository. (example: "https://github.com/my-org/data-contracts") - **repositoryBranch** (string): The branch to use. Defaults to 'main'. (example: "main") - **repositoryPath** (string) (required): The path to the YAML file in the repository. (example: "contracts/my-contract.yaml") ### Responses #### 201 - Data product created and git connection established **GitConnectionResponse** - **gitConnectionId** (string (uuid)): Unique identifier of the git connection. - **gitCredentialExternalId** (string): The `externalId` of the git credential used for this connection, if one was specified. (example: "my-github-ci") - **gitConnectionType** (string (github|gitlab|bitbucket|azuredevops)): The type of git provider. (example: "github") ("github"|"gitlab"|"bitbucket"|"azuredevops") - **host** (string): The host of a self-hosted git provider instance. Null for SaaS providers. (example: "https://gitlab.example.com") - **repositoryUrl** (string): The URL of the Git repository. (example: "https://github.com/my-org/data-contracts") - **repositoryBranch** (string): The branch of the Git repository. (example: "main") - **repositoryPath** (string): The path to the YAML file in the repository. (example: "contracts/my-contract.yaml") - **syncStatus** (string (UP_TO_DATE|LOCAL_IS_NEWER|REMOTE_IS_NEWER|CONFLICT)): The sync status between the data contract and the Git file. (example: "UP_TO_DATE") ("UP_TO_DATE"|"LOCAL_IS_NEWER"|"REMOTE_IS_NEWER"|"CONFLICT") - **webLink** (string): A web link to the file in the Git provider UI. (example: "https://github.com/my-org/data-contracts/blob/main/contracts/my-contract.yaml") - **lastHash** (string): The last known commit hash of the file. (example: "abc123def456") #### 404 - Credential with the specified `gitCredentialExternalId` not found Credential with the specified `gitCredentialExternalId` not found #### 409 - File is already connected to a data product File is already connected to a data product #### 422 - No git credentials found or invalid YAML No git credentials found or invalid YAML #### 502 - Error communicating with the Git provider Error communicating with the Git provider ### Example Usage ```bash curl -X POST "https://api.entropy-data.com/api/dataproducts/import/git" \ -H "Content-Type: application/json" \ -d '{ "gitCredentialExternalId": "my-github-ci", "gitConnectionType": "github", "host": "https://gitlab.example.com", "repositoryUrl": "https://github.com/my-org/data-contracts", "repositoryBranch": "main", "repositoryPath": "contracts/my-contract.yaml" }' ``` ``` -------------------------------- ### GET /api/organization/members Source: https://api.entropy-data.com/openapi.yaml Get all members of an organization. ```markdown ### Parameters - **p** (integer, query, optional): The number of the requested page, starting from 0. Each page contains a maximum of 1000 organization members, sorted by creation date ascending. Use the Link header with rel="next" to navigate to the next page. ### Responses #### 200 - List of all members of an organization - Array of OrganizationMember ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/organization/members?p=0" ``` ``` -------------------------------- ### GET /api/costs Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/costs ```markdown ### Parameters - **dataProductId** (string, query, required): The id of the data product ### Responses #### 200 - List of costs - Array of Cost ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/costs?dataProductId=string" ``` ``` -------------------------------- ### GET /api/tags Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/tags ```markdown ### Parameters - **p** (integer, query, optional): The number of the requested page, starting from 0. Each page contains a maximum of 1000 tags, sorted by creation date ascending. Use the Link header with rel="next" to navigate to the next page. - **owner** (string, query, optional): Filter for specific owners. Use the team name (not the ID). ### Responses #### 200 - List of tags - Array of Tag ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/tags?p=0&owner=string" ``` ``` -------------------------------- ### POST /api/scim/v2/Users Source: https://api.entropy-data.com/openapi.yaml Create a new SCIM user. ```markdown ### Request Body **Content-Type:** application/json - **schemas** (array (string)) - **id** (string): The unique identifier of the user. This is generated by the system. - **externalId** (string): The external identifier of the user. - **userName** (string (email)) (required): The user's username. This must be the user's email address. - **displayName** (string): The display name of the user. - **emails** (array (ScimEmail)) Array items: - **value** (string (email)) (required): The email address. - **type** (string): The type of email address. This should be "work" (example: "work") - **primary** (boolean): Indicates if this is the primary email address. - **active** (boolean): Indicates if the user is active. A soft-delete is currently not supported. - **meta** (object) - **resourceType** (string): The type of the resource. - **created** (string (date-time)): The date and time the resource was created. - **lastModified** (string (date-time)): The date and time the resource was last modified. - **location** (string): The location of the resource. - **version** (string): The version of the resource. ### Responses #### 201 - User created successfully **ScimUser** - **schemas** (array (string)) - **id** (string): The unique identifier of the user. This is generated by the system. - **externalId** (string): The external identifier of the user. - **userName** (string (email)) (required): The user's username. This must be the user's email address. - **displayName** (string): The display name of the user. - **emails** (array (ScimEmail)) Array items: - **value** (string (email)) (required): The email address. - **type** (string): The type of email address. This should be "work" (example: "work") - **primary** (boolean): Indicates if this is the primary email address. - **active** (boolean): Indicates if the user is active. A soft-delete is currently not supported. - **meta** (object) - **resourceType** (string): The type of the resource. - **created** (string (date-time)): The date and time the resource was created. - **lastModified** (string (date-time)): The date and time the resource was last modified. - **location** (string): The location of the resource. - **version** (string): The version of the resource. #### 409 - User already exists with the same ID, or invalid userName. User already exists with the same ID, or invalid userName. ### Example Usage ```bash curl -X POST "https://api.entropy-data.com/api/scim/v2/Users" \ -H "Content-Type: application/json" \ -d '{ "schemas": [ "string" ], "id": "string", "externalId": "string", "userName": "user@example.com", "displayName": "string", "emails": [ "value" ], "active": "true", "meta": "value" }' ``` ``` -------------------------------- ### API Overview: REST-API Source: https://api.entropy-data.com/openapi.yaml The [Entropy Data](https://www.entropy-data.com) API allows you to integrate with your data platform. You can manage data products, data usage agreements, data contracts, and teams. You can also approve, reject, or cancel data usage agreements. You can observe any changes to data products, data usage agreements, data contracts, and teams via events by polling an [HTTP Feed](https://www.http-feeds.org/). You need an API key for every operation. You can generate the API key within the UI in the organization settings. ## Pagination List endpoints return paginated results. Use the `p` query parameter (0-indexed) to request a specific page. The response body is a plain JSON array — there is no wrapper object. Pagination metadata is provided via the HTTP `Link` header with `rel="next"` ([RFC 5988](https://tools.ietf.org/html/rfc5988)). If a `Link` header with `rel="next"` is present, there are more results available on the next page. If it is absent, you have reached the last page. **Tip:** Use `curl -i` or check response headers in your HTTP client to see the `Link` header. ```yaml # REST-API # Version: 0.0.3 The [Entropy Data](https://www.entropy-data.com) API allows you to integrate with your data platform. You can manage data products, data usage agreements, data contracts, and teams. You can also approve, reject, or cancel data usage agreements. You can observe any changes to data products, data usage agreements, data contracts, and teams via events by polling an [HTTP Feed](https://www.http-feeds.org/). You need an API key for every operation. You can generate the API key within the UI in the organization settings. ## Pagination List endpoints return paginated results. Use the `p` query parameter (0-indexed) to request a specific page. The response body is a plain JSON array — there is no wrapper object. Pagination metadata is provided via the HTTP `Link` header with `rel="next"` ([RFC 5988](https://tools.ietf.org/html/rfc5988)). If a `Link` header with `rel="next"` is present, there are more results available on the next page. If it is absent, you have reached the last page. **Tip:** Use `curl -i` or check response headers in your HTTP client to see the `Link` header. # Base URL: https://api.entropy-data.com ``` -------------------------------- ### Schema: SourceSystemDeletedEvent Source: https://api.entropy-data.com/openapi.yaml A source system was deleted. ```markdown ## Schema: SourceSystemDeletedEvent A source system was deleted. **Type:** object - **id** (string) (required): The identifier of the source system. (example: "source-system-1") - **timestamp** (string (date-time)) (required): The business time when the source system was deleted (example: "2023-01-01T09:15:20.705Z") ``` -------------------------------- ### GET /api/certifications Source: https://api.entropy-data.com/openapi.yaml API endpoint for GET /api/certifications ```markdown ### Responses #### 200 - List of certifications sorted by display order - Array of Certification ### Example Usage ```bash curl -X GET "https://api.entropy-data.com/api/certifications" ``` ```