Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.secoda.co
https://eapi.secoda.co
https://aapi.secoda.co
https://{customer_domain}.secoda.co/api/v1
/dashboard/charts
Create a new chart with the provided data. Charts must have a dashboard as a parent, and be associated with an integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true,
"description": "Chart data"
}
POST /dashboard/charts
/collection/collections
This endpoint allows you to create a new collection. Note, adding resources to a collection through the API must be done on the resource that is added (by adding the collection_id to the `collections` parameter). Related resources cannot be added using the `/collection/collections` endpoints.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /collection/collections
/table/columns
This endpoint allows you to create a new column. Columns must have tables as a parent or another column for nested records. Columns must be associated with an integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
}
}
POST /table/columns
/dashboard/groups
Use this endpoint to create a dashboard group, which will be the parent of dashboards.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /dashboard/groups
/dashboard/dashboards
Create a new dashboard with the provided data. Dashboards must have a Group as a parent, and be associated with an integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true,
"description": "Dashboard data"
}
POST /dashboard/dashboards
/table/databases
Create a new database resource. It must have a schema as a parent, and an associated integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /table/databases
/document
This endpoint allows you to create a new document with the specified data. The document content is pulled from the `definition` parameter.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /document
/event/category
Use this endpoint to create a new event category. This will be the parent of events. The category must be associated to an integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EventCategoriesCreateNewCategoryRequest"
}
}
},
"required": true
}
POST /event/category
/event/event_properties
Create a new event property with the provided data. Event properties must have an Event as a parent, and be associated with an integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /event/event_properties
/event/events
Create a new event with the provided data. Events must have a Category as a parent, and be associated with an integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /event/events
/integration/integrations
Use this endpoint to create a [custom integration](https://docs.secoda.co/integrations/custom-integration), or add credentials for a native integration programatically.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationsCreateNewIntegrationRequest"
}
}
}
}
POST /integration/integrations
/integration/integrations/{integration_id}/import_jsonl_metadata
This endpoint allows the upload of integration metadata as well as integration lineage using a JSONL file. This can also be done through the UI. See more about JSONL uploads [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| integration_id | path | required | string | The ID of the integration to upload metadata and/or lineage for. |
{
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/IntegrationsUploadJsonlMetadataRequest"
}
}
},
"required": true
}
POST /integration/integrations/{integration_id}/import_jsonl_metadata
/integration/integrations/{integration_id}/import_metadata
This endpoint allows the upload of integration metadata using a CSV. This can also be done through the UI. See more about CSV uploads [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| integration_id | path | required | string | The ID of the integration to upload metadata for. |
{
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/IntegrationsUploadMetadataCsvRequest"
}
}
},
"required": true
}
POST /integration/integrations/{integration_id}/import_metadata
/lineage/manual
Create a new lineage object manually. Only one direction of the relationship needs to be created. The opposite direction of the lineage is automatically generated.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LineageCreateNewLineageManuallyRequest"
}
}
},
"required": true
}
POST /lineage/manual
/metric/metrics
Create a metric, and define the relevant columns for the metric. This endpoint will create the resource, but will not run it. See the `metric/metrics/{metric_id}/execute` endpoint to run the metric for the first time.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetricsCreateNewMetricRequest"
}
}
},
"required": true
}
POST /metric/metrics
/metric/metrics/{metric_id}/execute
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| metric_id | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetricsRunMetricExecutionRequest"
}
}
},
"required": true
}
POST /metric/metrics/{metric_id}/execute
/question/questions
This endpoint allows you to create a new question. The answer to the question can be set in the answer field, or added as a reply to the `question/replies` endpoint.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /question/questions
/question/replies
This endpoint allows you to create a new reply to a specified question (indicated by the parent_id).
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QuestionsCreateNewReplyRequest"
}
}
},
"required": true
}
POST /question/replies
/table/schemas
Create a new schema. Schema must have one database as a parent, and be associated with an integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /table/schemas
/table/tables
Create a new table with a schema as a parent. The table must be associated with an integration.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /table/tables
/tag
Create a new tag for the workspace.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagsCreateNewTagRequest"
}
}
},
"required": true
}
POST /tag
/auth/teams
Create a new team in the workspace.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamsCreateNewTeamRequest"
}
}
},
"required": true
}
POST /auth/teams
/dictionary/terms
This endpoint allows you to create a new dictionary term with the specified data. The `title` will map to the dictionary term name, and the definition of the term can be added to the `definition` field.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResourceRequest"
}
}
},
"required": true
}
POST /dictionary/terms
/auth/group
Create a new user group in the workspace.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserGroupsCreateNewGroupRequest"
}
}
},
"required": true
}
POST /auth/group
/user
Create a new user in the workspace.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UsersCreateNewUserRequest"
}
}
},
"required": true
}
POST /user
BasePatchRequest
{
"type": "object",
"properties": {
"pii": {
"type": "boolean",
"example": false,
"description": "Indicates whether the resource contains personally identifiable information (PII). Values can be - <ul><li> True <li> False</ul>"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"04654d61-4f64-4f08-b697-3915b5137c49",
"429693a2-a5e7-4525-b413-ece5e96bc5b3"
],
"description": "A list of tag IDs associated with the resources."
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"e8ac09ed-e51e-4e61-8eaf-59942c98c260",
"cca810f1-11c1-4117-bc23-20ae8020897f"
],
"description": "A list of team IDs that the resource belongs to."
},
"owners": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"33733f42-8ff7-460b-9e20-50a2133d3bb0",
"c90dedee-40ee-47ec-9c27-96dc3b2ec363"
],
"description": "A list of owner user IDs for the resource."
},
"verified": {
"type": "boolean",
"example": true,
"description": "Indicates whether the table has been set as verified. Values can be - <ul><li> True <li> False</ul>"
},
"published": {
"type": "boolean",
"example": true,
"description": "Indicates if the resource is visible to viewers or not. Values can be - <ul><li> True <li> False</ul>"
},
"definition": {
"type": "string",
"example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus",
"description": "Mark down documentation to be added to the resource."
},
"properties": {
"type": "object",
"properties": {
"custom": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomProperties"
}
}
},
"description": "A list of custom properties to add to the resource."
},
"collections": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"3b2c7185-fb5d-4d94-89d4-3dae08e093a9"
],
"description": "A list of collection IDs the resource belongs to."
},
"description": {
"type": "string",
"example": "This is a description for a sample table.",
"description": "A description of the resource."
},
"subscribers": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"c90dedee-40ee-47ec-9c27-96dc3b2ec363"
],
"description": "A list of the added user IDs that have been subscribed to the resource. Anyone subscribed will be notified of any changes."
}
}
}
BaseResourceRequest
{
"type": "object",
"properties": {
"pii": {
"type": "boolean",
"example": false,
"description": "Indicates whether the resource contains personally identifiable information (PII). Values can be - <ul><li> True <li> False</ul>"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"04654d61-4f64-4f08-b697-3915b5137c49",
"429693a2-a5e7-4525-b413-ece5e96bc5b3"
],
"description": "A list of tag IDs associated with the resources."
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"e8ac09ed-e51e-4e61-8eaf-59942c98c260",
"cca810f1-11c1-4117-bc23-20ae8020897f"
],
"description": "A list of team IDs that the resource belongs to."
},
"title": {
"type": "string",
"example": "Sample Title",
"description": "The title of the resource."
},
"owners": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"33733f42-8ff7-460b-9e20-50a2133d3bb0",
"c90dedee-40ee-47ec-9c27-96dc3b2ec363"
],
"description": "A list of owner user IDs for the resource."
},
"parent": {
"type": "string",
"example": "df2c0597-13d9-4159-bb6d-00b3f54235dc",
"description": "The ID of the parent resource. Please keep the resource heirarchy in mind when setting the parent."
},
"verified": {
"type": "boolean",
"example": true,
"description": "Indicates whether the resource has been set as verified. Values can be - <ul><li> True <li> False</ul>"
},
"published": {
"type": "boolean",
"example": true,
"description": "Indicates if the resource is visible to viewers or not. Values can be - <ul><li> True <li> False</ul>"
},
"definition": {
"type": "string",
"example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus",
"description": "Mark down documentation to be added to the resource."
},
"properties": {
"type": "object",
"properties": {
"custom": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomProperties"
}
}
},
"description": "A list of custom properties associated with the resource."
},
"collections": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"3b2c7185-fb5d-4d94-89d4-3dae08e093a9"
],
"description": "A list of collection IDs the resource belongs to."
},
"description": {
"type": "string",
"example": "This is a description for a sample table.",
"description": "A description of the resource."
},
"integration": {
"type": "string",
"example": "ca529385-fbc9-4934-afae-e372affe795b",
"description": "The integration ID associated with the resource, if one exists."
},
"subscribers": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"c90dedee-40ee-47ec-9c27-96dc3b2ec363"
],
"description": "A list of user IDs that have been subscribed to the resource. Anyone subscribed will be notified of any changes."
}
}
}
BaseResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "d935a76c-2125-4c30-9389-ef42fa7e23bb",
"description": "The unique identifier of the resource."
},
"pii": {
"type": "boolean",
"example": true,
"description": "Indicates if the resource contains Personally Identifiable Information (PII). Values can be - <ul> <li> True <li> False</ul>"
},
"url": {
"type": "string",
"example": "https://example.com/sample-table",
"description": "The URL associated with the resource."
},
"icon": {
"type": "string",
"example": "icon-url.png",
"description": "The icon associated with the resource."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"f7466f09-33bf-4ac2-9ff2-165fb4b8bdc2",
"a17f4ed0-0e5a-45a9-92c0-6c93c0b8242c"
],
"description": "List of tag IDs added to the resource."
},
"stale": {
"type": "boolean",
"example": false,
"description": "Indicates if the resource is stale. This means this resource no longer exists in the source, as of the last extraction."
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"8680f886-97d2-4f4e-92c8-c80b46a3017d"
],
"description": "List of team IDs associated with the resource."
},
"title": {
"type": "string",
"example": "Sample Table",
"description": "The title of the resource."
},
"owners": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"429693a2-a5e7-4525-b413-ece5e96bc5b3",
"f71585fa-251c-4102-8d81-c97c57c8d435"
],
"description": "List of owner IDs for the resource."
},
"parent": {
"type": "string",
"example": "df2c0597-13d9-4159-bb6d-00b3f54235dc",
"description": "The parent resource's ID."
},
"sources": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"8a3af948-026c-45d6-983d-3873f6156f86"
],
"description": "List of other integrations associated with the resource. For example, if a description is pulled in from DBT for a Snowflake table, this field will reference DBT."
},
"archived": {
"type": "boolean",
"example": false,
"description": "Indicates if the resource is deleted."
},
"verified": {
"type": "boolean",
"example": false,
"description": "Indicates if the resource is verified. Values can be - <ul><li> True <li> False</ul>"
},
"published": {
"type": "boolean",
"example": false,
"description": "Indicates if the resource is published and can be seen by Viewers."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-08-16T23:12:53.245493Z",
"description": "The timestamp when the resource was created in Secoda in UTC format."
},
"definition": {
"type": "string",
"format": "markdown",
"description": "The documentation of the resource, written in Mark Down format."
},
"properties": {
"type": "object",
"properties": {
"custom": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomProperties"
}
}
},
"description": "A list of custom properties associated with the resource."
},
"title_full": {
"type": "string",
"example": "Sample Database.Sample Schema.Sample Table",
"description": "The full title of the resource. This is a generated field"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-08-16T23:12:53.245507Z",
"description": "The timestamp when the resource was last updated in Secoda in UTC format."
},
"collections": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"e8ac09ed-e51e-4e61-8eaf-59942c98c260"
],
"description": "List of IDs representing the collection(s) that the resource has been added to."
},
"description": {
"type": "string",
"example": "This is a description for a sample table.",
"description": "A description of the resource."
},
"entity_type": {
"type": "string",
"example": "table",
"description": "The type of resource in Secoda."
},
"integration": {
"type": "string",
"example": "ca529385-fbc9-4934-afae-e372affe795b",
"description": "The integration ID associated with the resource."
},
"native_type": {
"type": "string",
"example": "Dataset",
"description": "The native type of the resource as it is referred to in the integration."
},
"subscribers": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"33733f42-8ff7-460b-9e20-50a2133d3bb0",
"c90dedee-40ee-47ec-9c27-96dc3b2ec363"
],
"description": "List of User IDs who subscribe to the resource."
},
"title_cased": {
"type": "string",
"example": "sampleTable",
"description": "The title in a cased format."
},
"total_usage": {
"type": "integer",
"example": 483,
"description": "The total usage count for the resource."
},
"multiplayers": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"429693a2-a5e7-4525-b413-ece5e96bc5b3",
"f71585fa-251c-4102-8d81-c97c57c8d435"
],
"description": "List of members who have opened or worked with the resource recently."
},
"workspace_id": {
"type": "string",
"example": "f71585fa-251c-4102-8d81-c97c57c8d435",
"description": "The ID of the workspace."
},
"bookmarked_by": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"d935a76c-2125-4c30-9389-ef42fa7e23bb",
"33733f42-8ff7-460b-9e20-50a2133d3bb0",
"c90dedee-40ee-47ec-9c27-96dc3b2ec363"
],
"description": "List of member IDs that have bookmarked the resource."
},
"owners_groups": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"3b2c7185-fb5d-4d94-89d4-3dae08e093a9"
],
"description": "List of owner group IDs for the resource."
},
"children_count": {
"type": "integer",
"example": 2,
"description": "The count of children entities of the resource."
},
"databuilder_id": {
"type": "string",
"example": "b818280a-ae1a-43bf-90d3-dbccf812b025.x68605bd2",
"description": "The databuilder ID associated with the resource. This is a generated field."
},
"external_usage": {
"type": "integer",
"example": 38,
"description": "The external usage count for the resource extracted from the source source. This is what is used to calculate Popularity of a resource."
},
"external_users": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"33733f42-8ff7-460b-9e20-50a2133d3bb0"
],
"description": "List of external user IDs for the resource extracted from the integration."
},
"internal_usage": {
"type": "integer",
"example": 3,
"description": "The internal usage count for the resource."
},
"internal_users": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"04654d61-4f64-4f08-b697-3915b5137c49"
],
"description": "List of internal user IDs for the resource."
},
"search_metadata": {
"type": "object",
"example": {
"type": "table",
"schema": "secoda-glue",
"cluster": "glue",
"database": "awsdatacatalog"
},
"description": "Metadata related to indexing the resource for optimizing search."
},
"definition_version": {
"type": "integer",
"example": 1,
"description": "The version of the resource's documentation."
},
"external_updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-08-16T23:12:53.245507Z",
"description": "The timestamp of the last update for the resource in the source."
},
"current_user_permissions": {
"type": "object",
"properties": {
"read": {
"type": "boolean",
"example": true
},
"write": {
"type": "boolean",
"example": true
},
"execute": {
"type": "boolean",
"example": false
}
},
"description": "Permissions of the current user for this resource."
},
"multiplayer_last_modified": {
"type": "string",
"format": "date-time",
"example": "2023-08-16T23:12:53.245507Z",
"description": "The timestamp when the multiplayer was last modified in UTC format."
},
"multiplayer_last_modified_by": {
"type": "string",
"example": "429693a2-a5e7-4525-b413-ece5e96bc5b3",
"description": "The last member who modified this resource."
}
}
}
ChartResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"product": {
"type": "string",
"example": "tableau",
"description": "Indicates the name of the integration."
}
}
}
]
}
ChartsListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChartResponse"
}
}
}
}
]
}
CollectionResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"pinned": {
"type": "boolean",
"example": false,
"description": "Refers to whether the resource has been pinned by user."
},
"resource_count": {
"type": "integer",
"example": 0,
"description": "Indicates how many resources are part of the collection."
}
}
}
]
}
CollectionsListCollectionsByTitleResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CollectionResponse"
}
}
}
}
]
}
ColumnResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"is_pk": {
"type": "boolean",
"example": true,
"description": "Whether the column is a primary key."
},
"hidden": {
"type": "boolean",
"description": "This is a deprecated field."
},
"data_type": {
"type": "string",
"example": "integer",
"description": "Indicates the data type of the column."
},
"sort_order": {
"type": "integer",
"example": 3,
"description": "Indicates the order the column should be in amongst the other columns"
},
"table_title": {
"type": "string",
"example": "customers",
"description": "Indicates the name of the table that the column belongs to."
},
"table_schema": {
"type": "string",
"example": "secoda-glue",
"description": "Indicates the name of the schema that the column belongs to."
},
"table_cluster": {
"type": "string",
"description": "This is a deprecated field."
},
"table_database": {
"type": "string",
"example": "aws-datacatalog",
"description": "Indicates the name of the database that the column belongs to."
}
}
}
]
}
ColumnsGetListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ColumnResponse"
}
}
}
}
]
}
CustomProperties
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Custom Property",
"description": "The name of the custom property."
},
"type": {
"enum": [
"string",
"number",
"multiselect",
"checkbox",
"user",
"resource",
"date"
],
"type": "string",
"example": "string",
"description": "The type of the custom property."
},
"order": {
"type": "integer",
"example": 1,
"description": "The order of the custom property."
},
"value": {
"type": "string",
"example": "TestValue",
"description": "The value of the custom property."
}
}
}
DashboardGroupResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"visible": {
"type": "boolean",
"description": "This is a deprecated field."
}
}
}
]
}
DashboardGroupsListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DashboardGroupResponse"
}
}
}
}
]
}
DashboardResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"group": {
"type": "string",
"example": "Samples",
"description": "Indicates the name of the group."
},
"product": {
"type": "string",
"example": "tableau",
"description": "Indicates the name of the integration."
}
}
}
]
}
DashboardsListWithFilterResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DashboardResponse"
}
}
}
}
]
}
DatabasesListAllActiveResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseResponse"
}
}
}
}
]
}
DocumentResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"parent_id": {
"type": "string",
"example": "1f5c76c3-e7a3-406f-b51e-7ba220244f1b",
"description": "Indicates the UUID of the parent of the document, which is always another document."
},
"base_entity_id": {
"type": "string",
"example": "1f5c76c3-e7a3-406f-b51e-7ba220244f1b",
"description": "Indicates the UUID of the highest level ancestor of the document."
}
}
}
]
}
DocumentsListDocumentsByTitleResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentResponse"
}
}
}
}
]
}
EventCategoriesCreateNewCategoryRequest
{
"type": "object",
"properties": {
"teams": {
"type": "array",
"items": {
"description": "WARNING: Missing items property in array schema. Missing items property has been filled with this AnyType schema."
},
"example": [
"e8ac09ede51e4e618eaf59942c98c260"
],
"description": "The teams the category belongs to."
},
"title": {
"type": "string",
"example": "Landing Page",
"description": "The name of the category."
},
"integration": {
"type": "string",
"description": "The UUID of the associated integration."
}
}
}
EventCategoriesListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseResponse"
}
}
}
}
]
}
EventPropertiesListEventPropertiesResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventPropertyResponse"
}
}
}
}
]
}
EventPropertyResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"enum": {
"type": "string",
"example": "red, green, yellow",
"description": "If the property type is enum, this field indicates the various enum values."
},
"type": {
"type": "string",
"example": "enum",
"description": "The type of property associated with the event. Examples include string, enum, integer, etc."
},
"is_required": {
"type": "boolean",
"description": "Set this to true if the property is required."
}
}
}
]
}
EventsListEventsByFilteringResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseResponse"
}
}
}
}
]
}
IncidentResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "6ac1bff0-b85f-47e8-84fb-8dca29614785",
"description": "The UUID of the incident."
},
"name": {
"type": "string",
"example": "Unique percentage incident",
"description": "The name of the incident, which indicates the type of metric set for the monitor."
},
"value": {
"type": "number",
"example": 86.4081806,
"description": "The value of the measurement at the time of incident creation."
},
"status": {
"enum": [
"acknowledged",
"expired",
"resolved",
"active"
],
"type": "string",
"example": "active",
"description": "The status of the incident."
},
"target": {
"type": "string",
"example": "c332407c-cfa4-47c9-8d83-31df72b30c20",
"description": "The UUID of the target resource being monitored for anomolies."
},
"actions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"enum": [
"notification_initial",
"notification_reminder",
"notification_resolved",
"acknowledged",
"resolved"
],
"type": "string"
},
"user_id": {
"type": "string"
},
"user_name": {
"type": "string"
}
}
},
"example": [
{
"type": "notification_initial",
"user_id": "e1250ab7-c4dc-4b9c-8963-105fa73d4ba5",
"user_name": "John Doe"
}
],
"description": "A list of actions associated with the incident."
},
"monitor": {
"type": "string",
"example": "b45bc798-763d-4ca5-863a-c12a882967c9",
"description": "The UUID of the associated monitor."
},
"summary": {
"type": "string",
"example": "Unique percentage incident",
"description": "An automatically generated short summary of the incident."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-10-10T19:20:44.975657Z",
"description": "When the incident was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-10-10T19:20:45.047238Z",
"description": "The last updated time for the incident."
},
"resolved_at": {
"type": "string",
"format": "date-time",
"description": "The time that the incident was resolved. Will be null if the incident has not yet been resolved."
},
"last_seen_at": {
"type": "string",
"format": "date-time",
"example": "2023-10-10T19:20:45.047056Z",
"description": "The most recent occurence about this incident."
},
"first_seen_at": {
"type": "string",
"format": "date-time",
"example": "2023-10-10T19:20:44.973632Z",
"description": "The first time this incident was observed."
},
"acknowledged_at": {
"type": "string",
"format": "date-time",
"example": "2023-11-10T19:20:44.975657Z",
"description": "The time that the incident was acknowledged at. This will be null if an incident hasn't been acknowledged yet."
},
"display_metadata": {
"type": "object",
"properties": {
"target": {
"type": "object",
"properties": {
"icon": {
"type": "string"
},
"label": {
"type": "string"
},
"entity_type": {
"type": "string",
"example": "column",
"description": "The type of resource the incident is associated with."
},
"integration": {
"type": "string",
"example": "0c6f8b1a-0c8f-4fdf-b95d-57da8f80ef82",
"description": "The UUID of the integration associated with the resource."
},
"integration_type": {
"type": "string",
"example": "snowflake",
"description": "The type of the integration that the resource is extracted from."
}
}
},
"monitor": {
"type": "object",
"properties": {
"label": {
"type": "string",
"example": "Unique percentage on extraction_completed_at"
}
}
}
},
"description": "This is an internally used object that provides additional information about the incident. This can be ignored by customers."
},
"last_notified_at": {
"type": "string",
"format": "date-time",
"example": "2023-10-10T19:20:45.047056Z",
"description": "The time of the last notification sent about this incident."
}
}
}
IntegrationResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "740904fe-e87d-44f8-8a91-b13631ff2812",
"description": "The ID of the created integration."
},
"name": {
"type": "string",
"example": "Tableau",
"description": "The name of the integration."
},
"type": {
"type": "string",
"example": "tableau",
"description": "The type of integration."
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"e8ac09ed-e51e-4e61-8eaf-59942c98c260"
],
"description": "List of team IDs associated with the integration."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-22T15:30:00Z",
"description": "The timestamp when the integration was created in Secoda in UTC format."
},
"properties": {
"type": "object",
"description": "Additional properties associated with the integration."
},
"ssh_tunnel": {
"type": "string",
"example": "None",
"description": "Information about SSH tunnel if one is set update."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-22T15:30:00Z",
"description": "The timestamp when the integration was last updated in Secoda UTC format."
},
"credentials": {
"type": "object",
"example": {},
"description": "The actual credentials of the integration will NOT be returned. Can you find the easter egg in this response parameter for native integrations?"
},
"workspace_id": {
"type": "string",
"example": "f71585fa-251c-4102-8d81-c97c57c8d435",
"description": "The ID of the associated workspace."
},
"execute_access": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"f71585fa-251c-4102-8d81-c97c57c8d435"
],
"description": "List of IDs that have the permission to trigger the extracton."
},
"preview_access_roles": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"Admin",
"Editor"
],
"description": "List of roles that are allowed to preview the data in the integration. <ul><li> Admin <li> Editor <li> Viewer </ul>"
},
"preview_access_users": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"f71585fa-251c-4102-8d81-c97c57c8d435"
],
"description": "List of users IDs with access to preview the data in the integration."
},
"preview_access_groups": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"f71585fa-251c-4102-8d81-c97c57c8d435"
],
"description": "List of users group IDs with access to preview the data in the integration."
},
"scheduled_extractions_hour": {
"type": "integer",
"example": 3,
"description": "Hour for scheduled extractions. Will be null for custom extractions."
},
"scheduled_extractions_last_run": {
"type": "string",
"example": "2023-10-15T09:45:00Z",
"description": "Last scheduled extraction run time (null in this response)."
},
"scheduled_extractions_next_run": {
"type": "string",
"format": "date-time",
"example": "2023-10-15T09:45:00Z",
"description": "Next scheduled extraction run time. Will be null for custom extractions."
},
"scheduled_extractions_frequency": {
"type": "integer",
"example": 7,
"description": "Frequency in days of scheduled extractions. Will be null for custom extractions."
}
}
}
IntegrationsCreateNewIntegrationRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Sample Integration",
"description": "Represents the name of the integration data source or tool."
},
"type": {
"type": "string",
"example": "custom",
"description": "This indicates the type of integration (e.g., \"custom\")."
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251",
"a5423e2e-93b8-4b2c-af3c-7b7f0eefea14"
],
"description": "Indicates the teams associated with this integration. The access can be edited in the UI."
},
"credentials": {
"type": "object",
"example": {},
"description": "If you are adding a custom integration, the value of this parameter should always be empty {}."
}
}
}
IntegrationsListActiveResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntegrationResponse"
}
}
}
}
]
}
IntegrationsUploadJsonlMetadataRequest
{
"type": "object",
"required": [
"resources_file"
],
"properties": {
"lineages_file": {
"type": "string",
"format": "binary",
"example": "path/to/your/lineages_file.jsonl",
"description": "The path to the your lineages file. The expected formatting of this file can be found [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file)."
},
"resources_file": {
"type": "string",
"format": "binary",
"example": "path/to/your/resources_file.jsonl",
"description": "The path to the your resources file. The expected formatting of this file can be found [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file)."
}
}
}
IntegrationsUploadMetadataCsvRequest
{
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"example": "path/to/your/file.csv",
"description": "The path to the CSV file containing your metadata and resources. The format of the CSV file can be found [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-csv)."
}
}
}
LineageCreateNewLineageManuallyRequest
{
"type": "object",
"properties": {
"direction": {
"type": "string",
"example": "DOWNSTREAM",
"description": "Represents the flow of the resource data. Values can be - <ul> <li> Upstream <li> Downstream</ul>"
},
"to_entity": {
"type": "string",
"example": "b500ef23-c9b4-4259-a87d-d77b8b588f06",
"description": "Points to the final destination of the resouce data through various transformations and entities."
},
"from_entity": {
"type": "string",
"example": "7879886b-9e0e-4d02-8b37-c7d3c496a587",
"description": "Indicates the source of the resource data."
}
}
}
LineageListObjectsWithFilteringResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LineageResponse"
}
}
}
}
]
}
LineageResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "d935a76c-2125-4c30-9389-ef42fa7e23bb",
"description": "The unique identifier of the resource."
},
"direction": {
"enum": [
"UPSTREAM",
"DOWNSTREAM"
],
"type": "string",
"example": "DOWNSTREAM",
"description": "Represents the flow of data between the source and destination. Values can be - <ul> <li> Upstream <li> Downstream</ul>"
},
"is_manual": {
"type": "boolean",
"example": true,
"description": "Represents if data lineage is manually created or not. Values can be - <ul><li> True <li> False </ul>"
},
"to_entity": {
"type": "string",
"example": "b500ef23-c9b4-4259-a87d-d77b8b588f06",
"description": "Indicates the destination resource of the lineage."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-08-16T23:12:53.245493Z",
"description": "The timestamp when the resource was created in Secoda in UTC format."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-08-16T23:12:53.245507Z",
"description": "The timestamp when the resource was last updated in Secoda in UTC format."
},
"from_entity": {
"type": "string",
"example": "7879886b-9e0e-4d02-8b37-c7d3c496a587",
"description": "Indicates the source resource of the lineage."
}
}
}
ListResponse
{
"type": "object",
"properties": {
"meta": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"example": 1,
"description": "The current page number."
},
"next_page": {
"type": "integer",
"example": 2,
"description": "The next page number (null if on the last page)."
},
"previous_page": {
"type": "integer",
"example": null,
"description": "The previous page number (null if on the first page)."
}
},
"description": "Reprents the meta data of the response."
},
"count": {
"type": "integer",
"example": 315,
"description": "The total count of items returned."
},
"links": {
"type": "object",
"properties": {
"next": {
"type": "string",
"example": "https://api.secoda.co/resource/all/?page=2",
"description": "The link to the next page (null if there are no more pages)."
},
"previous": {
"type": "string",
"example": "None",
"description": "The link to the previous page (null if on the first page)."
}
},
"description": "Indicates Links to associated pages."
},
"total_pages": {
"type": "integer",
"example": 7,
"description": "The total number of pages."
}
}
}
MeasurementResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "6ac1bff0-b85f-47e8-84fb-8dca29614785",
"description": "The UUID of the measurement."
},
"value": {
"type": "number",
"example": 90.81823317519981,
"description": "The exact value at the time of measurement."
},
"monitor": {
"type": "string",
"example": "102ac399-6e3a-42dd-a710-dbbb6b2addbe",
"description": "The UUID of the associated monitor."
},
"incident": {
"type": "string",
"example": "102ac399-6e3a-42dd-a710-dbbb6b2addbe",
"nullable": true,
"description": "The UUID of the associated incident, if it exists. Otherwise, this is set to null."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-10-03T04:46:24.290765Z",
"description": "Timestamp of when the measurement was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-10-03T04:46:24.290765Z",
"description": "Timestamp of the when the measurement was updated."
},
"lower_threshold": {
"type": "number",
"example": 87.83219024929676,
"description": "The lower threshold of the measurement. A value crossing this threshold will trigger an incident. The threshold will be set to null when one is not configured, or the monitor is still learning the thresholds.\n"
},
"upper_threshold": {
"type": "number",
"example": 90.64496791804484,
"description": "The upper threshold of the measurement. A value crossing this threshold will trigger an incident. The threshold will be set to null when one is not configured, or the monitor is still learning the thresholds.\n"
},
"incident_metadata": {
"type": "string",
"description": "Additional information about the incident."
}
}
}
MetricResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"sql": {
"type": "string",
"example": "select * from snowflake_sample_data.temp.store;",
"description": "The sql statement underlying the metric."
},
"time": {
"type": "string",
"example": "store_open_date",
"description": "The name of the column that should populate the X axis. The data type of the column should be datetime."
},
"primary": {
"type": "string",
"example": "store_orders",
"description": "The name of the column that should populate the Y axis. The data type of the column should be a number or integer."
},
"last_run": {
"type": "string",
"format": "datetime",
"example": "2024-03-18T21:02:30.294932Z",
"description": "The last time the metric was run."
},
"dimension": {
"type": "string",
"example": "store_region",
"description": "The name of the column by which results should be grouped by. Can be None if no dimensions are desired."
},
"last_error": {
"type": "string",
"example": "None",
"description": "If the last run failed, the error message will show up here."
},
"last_status": {
"type": "string",
"example": "completed",
"description": "Whether the last run was successful. The status can also be pending if a run hasn't occured yet."
},
"metric_type": {
"type": "string",
"example": "line",
"description": "The type of graph created from the metric. Currently, only a line graph is supported."
}
}
}
]
}
MetricsCreateNewMetricRequest
{
"type": "object",
"required": [
"title",
"sql",
"integration"
],
"properties": {
"sql": {
"type": "string",
"example": "select * from snowflake_sample_data.temp.store;",
"description": "The sql statement underlying the metric."
},
"time": {
"type": "string",
"example": "store_open_date",
"description": "The name of the column that should populate the X axis. The data type of the column should be datetime."
},
"title": {
"type": "string",
"example": "AOV",
"description": "The name given to your metric."
},
"primary": {
"type": "string",
"example": "store_orders",
"description": "The name of the column that should populate the Y axis. The data type of the column should be a number or integer."
},
"dimension": {
"type": "string",
"example": "store_region",
"description": "The name of the column by which results should be grouped by. Can be None if no dimensions are desired."
},
"description": {
"type": "string",
"example": "Average order value over time.",
"description": "A description for your metric."
},
"integration": {
"type": "string",
"example": "90ca77b2-65af-4042-8aee-dc9b203568f0",
"description": "The UUID of the integration that the metric is run on."
},
"scheduled_delta": {
"type": "integer",
"example": 1,
"description": "The frequency with which the metric should run, in hours. The first run can be triggered through the UI or by using the /execute endpoint."
}
}
}
MetricsListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MetricResponse"
}
}
}
}
]
}
MetricsRunMetricExecutionRequest
{
"type": "object",
"description": "An empty payload is required to execute the metric."
}
MetricsRunMetricExecutionResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "5e8baa7c-8221-42b8-9d39-5718d4bc063e",
"description": "ID of the metric."
},
"logs": {
"type": "string"
},
"user": {
"type": "string",
"example": "33733f42-8ff7-460b-9e20-50a2133d3bb0",
"description": "The ID of the user that has run the metric."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2024-04-09T21:10:40.532Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2024-04-09T21:10:40.532Z"
}
}
}
MetricsUpdateMetricByIdRequest
{
"type": "object",
"properties": {
"sql": {
"type": "string",
"example": "select * from snowflake_sample_data.temp.store;",
"description": "The sql statement underlying the metric."
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"scheduled_delta": {
"type": "string"
}
}
}
MonitorResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "886337a0-f298-4259-84dc-710879c826de",
"description": "The unique identifier of the monitor."
},
"name": {
"type": "string",
"example": "Null percentage in amount",
"description": "The full name of the monitor, includes the metric type and target resource."
},
"status": {
"enum": [
"normal",
"incident",
"error",
"learning",
"inactive"
],
"type": "string",
"example": "incident",
"description": "The status of the monitor."
},
"target": {
"type": "string",
"example": "11db7782-4030-4acf-93e4-85aff3b860a1",
"description": "The identifier of the resource that the monitor is watching."
},
"frequency": {
"type": "integer",
"example": 24,
"description": "The frequency with which this monitor is run."
},
"workspace": {
"type": "string",
"example": "e051db43-cda6-42dc-8a69-12d1aefc3a91",
"description": "The identifier of the workspace."
},
"created_at": {
"type": "string",
"example": "2023-10-12T14:59:58.781935Z",
"description": "The timestamp when the monitor was created."
},
"is_enabled": {
"type": "boolean",
"example": true,
"description": "Whether the monitor is enabled."
},
"updated_at": {
"type": "string",
"example": "2023-10-12T15:06:19.251573Z",
"description": "The timestamp when the data was last updated."
},
"integration": {
"type": "string",
"example": "337c5803-b484-4128-a24d-dcc55dee2ea2",
"description": "The identifier of the integration associated with the resource."
},
"metric_type": {
"enum": [
"row_count",
"cardinality",
"mean",
"max",
"min",
"unique_percentage",
"null_percentage",
"freshness",
"custom_sql"
],
"type": "string",
"example": "null_percentage",
"description": "The type of metric."
},
"next_run_at": {
"type": "string",
"example": "2023-10-13T15:03:40.693728Z",
"description": "The timestamp for the next run. Note, the run may occur shortly after the time set, but never before."
},
"last_error_at": {
"type": "string",
"example": null,
"description": "The timestamp of the last error, if any."
},
"last_incident": {
"type": "string",
"example": "102ac399-6e3a-42dd-a710-dbbb6b2addbe",
"description": "The UUID of the last active incident. If there are no active incidents (if the last incident has been closed), the field is set to null."
},
"metric_config": {
"type": "string",
"description": "Configuration for the metric."
},
"last_success_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-29T17:46:22.552345Z",
"description": "The timestamp of the last check on Secoda's access and ability to read the data source on which this monitor is set. This is connctivity check - not a data quality check."
},
"display_metadata": {
"type": "object",
"properties": {
"target": {
"type": "object",
"properties": {
"icon": {
"type": "string",
"example": null,
"description": "Icon associated with the target resource, if one exists."
},
"label": {
"type": "string",
"example": "amount",
"description": "Title of the target resource."
},
"entity_type": {
"type": "string",
"example": "column",
"description": "The type of the target resource (e.g., column)."
},
"integration": {
"type": "string",
"example": "337c5803-b484-4128-a24d-dcc55dee2ea2",
"description": "The UUID of the integration from which the target resource is extracted."
},
"integration_type": {
"type": "string",
"example": "redshift",
"description": "The type of integration."
}
}
}
},
"description": "This is an internally used object that provides additional information about the incident. This can be ignored by customers."
},
"last_measurement": {
"type": "string",
"example": "5d6ad413-5f74-41d6-b2f5-870b6f04de5c",
"description": "The identifier of the last measurement."
},
"last_attempted_at": {
"type": "string",
"example": "2023-10-12T15:03:40.693728Z",
"description": "The timestamp of the last attempted monitor."
},
"last_error_message": {
"type": "string",
"example": "",
"description": "The message associated with the last error, if any."
},
"condition_manual_max": {
"type": "integer",
"example": null,
"description": "The manual maximum condition if set by the user."
},
"condition_manual_min": {
"type": "integer",
"example": null,
"description": "The manual minimum condition if set by the user."
},
"last_measurement_value": {
"type": "number",
"example": 1234.56,
"description": "The last measured value if one is available."
},
"condition_auto_sensitivity": {
"type": "integer",
"example": 5,
"description": "The automatic sensitivity condition."
}
}
}
MonitorsListIncidentsResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IncidentResponse"
}
}
}
}
]
}
MonitorsListMeasurementsResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MeasurementResponse"
}
}
}
}
]
}
MonitorsListMonitorsResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MonitorResponse"
}
}
}
}
]
}
QueriesGetListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QueryResponse"
}
}
}
}
]
}
QueryResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"freq": {
"type": "integer",
"example": 0,
"description": "Represents the frequency with which the query is running. Currently this will be returned as 0."
},
"type": {
"type": "string",
"example": "None",
"description": "Indicates the type of query. Currently this is returned as None."
}
}
}
]
}
QuestionResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"answer": {
"type": "string",
"example": "This is the answer to the question.",
"description": "Represents the verified answer of the question."
},
"status": {
"type": "string",
"example": "UNANSWERED",
"description": "Indicates the status of the question. Values can be - <ul><li> Answered <li> Unanswered </ul>"
},
"priority": {
"type": "string",
"example": "High",
"description": "Indicates the priority of the question or request."
},
"reactions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"๐"
],
"description": "Represents the emoji reactions to a question."
},
"votes_sum": {
"type": "integer",
"example": 5,
"description": "Indicates the amount of votes for the quesion."
},
"assigned_to": {
"type": "string",
"example": "33733f42-8ff7-460b-9e20-50a2133d3bb0",
"description": "Represents the user whom the question is assigned to."
},
"current_user_vote": {
"type": "integer",
"example": 4,
"description": "Represents the vote number of the current user."
}
}
}
]
}
QuestionsCreateNewReplyRequest
{
"type": "object",
"properties": {
"owners": {
"type": "array",
"items": {
"type": "string",
"example": "33733f42-8ff7-460b-9e20-50a2133d3bb0",
"description": "Defines the UUIDs that are the owners of the replies."
}
},
"parent": {
"type": "string",
"example": "7795133a-6e36-4ef2-b95a-664babb99b71",
"description": "The unique identifier of the parent question"
},
"definition": {
"type": "string",
"example": "Replying to the question",
"description": "The answer of the reply"
},
"accepted_answer": {
"type": "boolean",
"example": false,
"description": "Indicates if the answer is accepted or not. Values can be - <ul> <li> True <li> False</ul>"
}
}
}
QuestionsEditReplyByIdRequest
{
"type": "object",
"properties": {
"definition": {
"type": "string",
"example": "Changing the answer.",
"description": "The updated definition for the reply"
},
"accepted_answer": {
"type": "boolean",
"example": false,
"description": "Indicates if the answer is accepted or not. Values can be - <ul> <li> True <li> False</ul>"
}
}
}
QuestionsGetListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QuestionResponse"
}
}
}
}
]
}
QuestionsListRepliesResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReplyResponse"
}
}
}
}
]
}
ReplyResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"reactions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"๐"
],
"description": "Represents the emoji reactions to a question."
},
"accepted_answer": {
"type": "boolean",
"example": false,
"description": "Indicates if the answer is accepted or not. Values can be - <ul> <li> True <li> False</ul>"
}
}
}
]
}
SchemasListWithFilterResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseResponse"
}
}
}
}
]
}
TableResponse
{
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"example": "secoda-glue",
"description": "Indicates the name of the schema that the table belongs to."
},
"cluster": {
"type": "string",
"description": "This is a deprecated field."
},
"database": {
"type": "string",
"example": "awsdatacatalog",
"description": "Indicates the name of the database that the table belongs to."
},
"creation_query": {
"type": "string",
"example": "select * from customers where country=='CAN'",
"description": "If the table is a view, this indicates the query written to generate the view."
}
}
}
]
}
TablesListTablesByFilterResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TableResponse"
}
}
}
}
]
}
TagsCreateNewTagRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Sample Tag",
"description": "Indicates the name of the tag."
},
"color": {
"type": "string",
"example": "#4299E1",
"description": "Defines the different colors of the tags."
},
"description": {
"type": "string",
"example": "This is a sample tag.",
"description": "Indicates the description of the tag."
}
}
}
TagsListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TagsResponse"
}
}
}
}
]
}
TagsResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "69e0b863-8bb8-47e1-b566-8b8d57441c70",
"description": "The unique identifier of the resource."
},
"name": {
"type": "string",
"example": "Sample Tag",
"description": "Indicates the name of the tag."
},
"color": {
"type": "string",
"example": "#4299E1",
"description": "Defines the different colors of the tags in HEX format."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-05T17:32:56.571134Z",
"description": "The timestamp when the resource was created in Secoda in UTC format."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-05T17:32:56.571151Z",
"description": "The timestamp when the resource was last updated in Secoda in UTC format."
},
"description": {
"type": "string",
"example": "This is a sample tag.",
"description": "Indicates the description of the tag."
},
"workspace_id": {
"type": "string",
"example": "f71585fa-251c-4102-8d81-c97c57c8d435",
"description": "Indiactes the workspace ID where the tag belongs."
},
"integration_id": {
"type": "string",
"example": "69e0b863-8bb8-47e1-b566-8b8d57441c70",
"description": "The unique identifier of the integration the tag is pulled from. Null if the tag is created manually in Secoda."
}
}
}
TagsUpdateByIdRequest
{
"type": "object",
"required": [
"color"
],
"properties": {
"color": {
"type": "string",
"example": "#316650",
"description": "Represents the color of the tags."
}
}
}
TeamsCreateNewTeamRequest
{
"type": "object",
"properties": {
"icon": {
"type": "string",
"example": "๐",
"description": "Indicates the icon of the team."
},
"name": {
"type": "string",
"example": "Test Team",
"description": "Indicates the name of the team."
},
"type": {
"type": "string",
"example": "OPEN",
"description": "Indicates the type of the team. If a team is Open, this means it is Public and can be joined by anyone in the workspace. If a team is Closed, the team is private and only admins can invite members into the team. Values can be - <ul><li> OPEN <li> CLOSED </ul>"
},
"description": {
"type": "string",
"example": "This is the best team in this workspace.",
"description": "Description of the team."
},
"sidebar_settings": {
"type": "object",
"properties": {
"home": {
"type": "boolean",
"example": true,
"description": "Whether to show the home page to team members."
},
"catalog": {
"type": "boolean",
"example": true,
"description": "Whether to show the catalog page to team members."
},
"documents": {
"type": "boolean",
"example": true,
"description": "Whether to show the documents page to team members."
},
"questions": {
"type": "boolean",
"example": true,
"description": "Whether to show the questions page to team members."
},
"dictionary": {
"type": "boolean",
"example": true,
"description": "Whether to show the dictionary page to team members."
},
"collections": {
"type": "boolean",
"example": true,
"description": "Whether to show the collections page to team members."
}
},
"description": "Use these settings to toggle which pages should be shown to team members in the side bar."
}
}
}
TeamsGetListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamsResponse"
}
}
}
}
]
}
TeamsResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "3131f219-16bb-4c95-853a-894ae12db42a",
"description": "Indicates the UUID of the team."
},
"icon": {
"type": "string",
"example": "๐",
"description": "Indicates the icon of the team."
},
"name": {
"type": "string",
"example": "Test Team",
"description": "Indicates the name of the team."
},
"type": {
"type": "string",
"example": "OPEN",
"description": "Indicates the type of the team. If a team is Open, this means it is Public and can be joined by anyone in the workspace. If a team is Closed, the team is private and only admins can invite members into the team. Values can be - <ul><li> OPEN <li> CLOSED </ul>"
},
"archived": {
"type": "boolean",
"example": false,
"description": "Indicates if the team has been deleted."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-22T15:30:00Z",
"description": "The timestamp when the team was created in Secoda in UTC format."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-22T15:30:00Z",
"description": "The timestamp when the team was last updated in Secoda UTC format."
},
"description": {
"type": "string",
"example": "This is the best team in this workspace.",
"description": "Description of the team."
},
"workspace_id": {
"type": "string",
"example": "f71585fa-251c-4102-8d81-c97c57c8d435",
"description": "Indicates the workspace ID of the user."
},
"is_default_team": {
"type": "boolean",
"example": true,
"description": "Indicates if the team is the default team. Any resource without a specified team will automatically get added to this team."
},
"sidebar_settings": {
"type": "object",
"properties": {
"home": {
"type": "boolean",
"example": true,
"description": "Whether to show the home page to team members."
},
"catalog": {
"type": "boolean",
"example": true,
"description": "Whether to show the catalog page to team members."
},
"documents": {
"type": "boolean",
"example": true,
"description": "Whether to show the documents page to team members."
},
"questions": {
"type": "boolean",
"example": true,
"description": "Whether to show the questions page to team members."
},
"dictionary": {
"type": "boolean",
"example": true,
"description": "Whether to show the dictionary page to team members."
},
"collections": {
"type": "boolean",
"example": true,
"description": "Whether to show the collections page to team members."
}
},
"description": "Use these settings to toggle which pages should be shown to team members in the side bar."
},
"onboarding_complete": {
"type": "boolean",
"example": true,
"description": "This field will be deprecated."
}
}
}
TeamsUpdateByIdRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "New Team",
"description": "Indicates the name of the team."
}
}
}
TermsGetListByTitleResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseResponse"
}
}
}
}
]
}
UserGroupResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "f3bdd4f8-d6ea-4f9b-8384-e179fa8eb3da",
"description": "The ID of the group."
},
"icon": {
"type": "string",
"example": "๐งช",
"description": "The icon associated with the group."
},
"name": {
"type": "string",
"example": "Data Stewards",
"description": "The name of the group."
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"33733f42-8ff7-460b-9e20-50a2133d3bb0",
"c90dedee-40ee-47ec-9c27-96dc3b2ec363"
],
"description": "List of user IDs of the members in the group."
},
"created_at": {
"type": "string",
"example": "2023-05-10T14:27:23.797657Z",
"description": "The creation timestamp of the group."
},
"updated_at": {
"type": "string",
"example": "2023-10-20T13:53:06.088248Z",
"description": "The last update timestamp of the group."
},
"description": {
"type": "string",
"example": "Group of users that are responsible for keeping documentation updated.",
"description": "The description of the group."
},
"workspace_id": {
"type": "string",
"example": "f71585fa-251c-4102-8d81-c97c57c8d435",
"description": "The ID of the workspace associated with the grop."
},
"snowflake_role": {
"description": "This field can be ignored."
}
}
}
UserGroupsCreateNewGroupRequest
{
"type": "object",
"properties": {
"icon": {
"type": "string",
"example": "๐",
"description": "Indicates the icon of the team."
},
"name": {
"type": "string",
"example": "Data Stewards",
"description": "Indicates the name of the group."
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"33733f42-8ff7-460b-9e20-50a2133d3bb0",
"c90dedee-40ee-47ec-9c27-96dc3b2ec363"
],
"description": "A list of user IDs that are part of this group."
},
"description": {
"type": "string",
"example": "Users responsible for keeping documentation up to date.",
"description": "Description of the group."
}
}
}
UserGroupsListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserGroupResponse"
}
}
}
}
]
}
UserGroupsUpdateByIdRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "New Group",
"description": "Indicates the name of the group."
}
}
}
UsersCreateNewUserRequest
{
"type": "object",
"properties": {
"role": {
"type": "string",
"example": "editor",
"description": "Indicates the role of the user. Values can be - <ul><li> Admin <li> Editor <li> Viewer </ul>"
},
"_role": {
"type": "string",
"example": "editor",
"description": "Indicates the role of the user. Values can be - <ul><li> Admin <li> Editor <li> Viewer </ul>"
},
"email": {
"type": "string",
"example": "sample@sample.com",
"description": "Indicates the email id of the user."
},
"last_name": {
"type": "string",
"example": "User",
"description": "Indicates the last name of the user."
},
"first_name": {
"type": "string",
"example": "Sample",
"description": "Indicates the first name of the user."
}
}
}
UsersListResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ListResponse"
},
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UsersResponse"
}
}
}
}
]
}
UsersResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "3131f219-16bb-4c95-853a-894ae12db42a",
"description": "Indicates the UUID of the user."
},
"role": {
"type": "string",
"example": "editor",
"description": "Indicates the role of the user. Values can be - <ul><li> Admin <li> Editor <li> Viewer </ul>"
},
"_role": {
"type": "string",
"example": "editor",
"description": "Indicates the role of the user. Is the same value as the `role` parameter. Values can be - <ul><li> Admin <li> Editor <li> Viewer </ul>"
},
"email": {
"type": "string",
"example": "sample@sample.com",
"description": "Indicates the email id of the user."
},
"pending": {
"type": "boolean",
"example": true,
"description": "Represents if the user has been invited to the space but not accepted yet. Values can be - <ul> <li> \"True\" <li> \"False\" </ul>"
},
"disabled": {
"type": "boolean",
"example": false,
"description": "Represents if the account is disabled or not. Values can be - <ul> <li >True <li> False </ul>"
},
"bookmarks": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"f71585fa-251c-4102-8d81-c97c57c8d435"
],
"description": "Represents the resorces that the user has bookmarked."
},
"last_name": {
"type": "string",
"example": "User",
"description": "Indicates the last name of the user."
},
"workspace": {
"type": "string",
"example": "f71585fa-251c-4102-8d81-c97c57c8d435",
"description": "Indicates the workspace of the user."
},
"first_name": {
"type": "string",
"example": "Sample",
"description": "Indicates the first name of the user."
},
"last_login": {
"type": "string",
"format": "date-time",
"example": "None",
"description": "Indicates the last time account was logged in to Secoda in UTC format."
},
"user_groups": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"f71585fa-251c-4102-8d81-c97c57c8d435"
],
"description": "A list of UUIDs of groups the user belongs to."
},
"viewer_mode": {
"type": "boolean",
"example": false,
"description": "Indicates if the user is in Preview mode. Values can be - <ul> <li>True <li>False </ul>"
},
"workspace_id": {
"type": "string",
"example": "f71585fa-251c-4102-8d81-c97c57c8d435",
"description": "Indicates the workspace ID of the user."
},
"profile_picture": {
"type": "string",
"example": "image.jpg",
"description": "Indicates the file name of the profile picture for the user."
},
"is_service_account": {
"type": "boolean",
"example": false,
"description": "Indicates if the user account is a service account or not. Values can be - <ul> <li >True <li> False </ul>"
},
"secoda_is_superuser": {
"type": "boolean",
"example": false,
"description": "Represents if the user is super user or not. Values can be - <ul> <li >True <li> False </ul>"
},
"new_feature_acknowledged": {
"type": "boolean",
"example": true,
"description": "Indicates if the new feature has been acknowleged or not. Values can be - <ul> <li >True <li> False </ul>"
},
"service_account_count_popularity": {
"type": "boolean",
"example": true,
"description": "Indicates if the account counts towards popularity calculations. Values can be - <ul> <li> True <li> False </ul>"
}
}
}
UsersUpdateByIdRequest
{
"type": "object",
"properties": {
"last_name": {
"type": "string",
"example": "User",
"description": "Indicates the last name of the user."
},
"first_name": {
"type": "string",
"example": "Sample",
"description": "Indicates the first name of the user."
}
}
}