Secoda

Data catalog and documentation platform

docs.secoda.co/api ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
110
Schemas
71
86
Quality
Updated
3 days ago
Data data catalog documentation
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.secoda.co
https://eapi.secoda.co
https://aapi.secoda.co
https://{customer_domain}.secoda.co/api/v1

Endpoints

Clear filters

Charts 2 endpoints

GET /dashboard/charts

Retrieve a list of charts with optional filtering by integration_id, parent_id (the dashboard the chart belongs to), and title.

operationId: Charts_list

Parameters

Name In Required Type Description
integration_id query optional string

Filter by integration ID

parent_id query optional string

Filter by parent ID

title query optional string

Filter by title

Responses

200

List of charts.

400

Bad Request

500

Internal Server Error

GET /dashboard/charts
GET /dashboard/charts/{chart_id}

Retrieve a specific chart by its ID.

operationId: Charts_getById

Parameters

Name In Required Type Description
chart_id path required string

The ID of the chart to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /dashboard/charts/{chart_id}

Collections 2 endpoints

GET /collection/collections

This endpoint allows you to retrieve a list of collections. You can optionally filter the collections by title using the “title” query parameter.

operationId: Collections_listCollectionsByTitle

Parameters

Name In Required Type Description
title query optional string

Filter collections by title (optional)

Responses

200

List of collections.

400

Bad Request

500

Internal Server Error

GET /collection/collections
GET /collection/collections/{collection_id}

This endpoint allows you to retrieve a collection by its unique identifier (collection_id).

operationId: Collections_getById

Parameters

Name In Required Type Description
collection_id path required string

The unique identifier of the collection

Responses

200

Collection retrieved successfully

404

Collection not found

500

Internal Server Error

GET /collection/collections/{collection_id}

Columns 2 endpoints

GET /table/columns

This endpoint allows you to retrieve a list of all columns in the workspace. Optional filters for integration_id, title, and parent_id (the table or parent column) are available.

operationId: Columns_getList

Parameters

Name In Required Type Description
integration_id query optional string

Optional. Filter columns by integration identifier.

parent_id query optional string

Optional. Filter columns by parent identifier. This could be the ID of the table or of the parent column in the case of nested columns.

title query optional string

Optional. Filter columns by title of the column.

table_title query optional string

Optional. Filter columns by title of the table that the columns belong to. If several integrations have the same naming of tables, it is recommended to combine this with the integration_id.

Responses

200

List of columns.

400

Bad request.

500

Internal server error.

GET /table/columns
GET /table/columns/{column_id}

This endpoint allows you to retrieve information about a specific column by its identifier.

operationId: Columns_getColumnById

Parameters

Name In Required Type Description
column_id path required string

Identifier of the column to retrieve.

Responses

200

Column retrieved successfully.

404

Column not found.

500

Internal server error.

GET /table/columns/{column_id}

Dashboardgroups 2 endpoints

GET /dashboard/groups

List all the dashboard groups in the workspace. Optional filter by title.

operationId: DashboardGroups_list

Parameters

Name In Required Type Description
title query optional string

Filter groups by title

Responses

200

List of groups.

400

Bad Request

500

Internal Server Error

GET /dashboard/groups
GET /dashboard/groups/{group_id}

Retrieve the information of a specific dashboard group.

operationId: DashboardGroups_getById

Parameters

Name In Required Type Description
group_id path required string

ID of the dashboard group to retrieve

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /dashboard/groups/{group_id}

Dashboards 2 endpoints

GET /dashboard/dashboards

Retrieve a list of dashboards with optional filtering using the integration_id, parent_id (the dashboard group), and title.

operationId: Dashboards_listWithFilter

Parameters

Name In Required Type Description
integration_id query optional string

Filter by integration ID

parent_id query optional string

Filter by parent ID

title query optional string

Filter by title

Responses

200

List of dashboards.

400

Bad Request

500

Internal Server Error

GET /dashboard/dashboards
GET /dashboard/dashboards/{dashboard_id}

Retrieve a specific dashboard by its ID.

operationId: Dashboards_getById

Parameters

Name In Required Type Description
dashboard_id path required string

The ID of the dashboard to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /dashboard/dashboards/{dashboard_id}

Databases 2 endpoints

GET /table/databases

Use this endpoint to see all the databases active in your workspace.

operationId: Databases_listAllActive

Parameters

Name In Required Type Description
title query optional string

The title of the database to search for.

Responses

200

List of databases.

400

Bad request.

500

Internal server error.

GET /table/databases
GET /table/databases/{database_id}

Use this endpoint for retrieving a specific database by its ID.

operationId: Databases_getById

Parameters

Name In Required Type Description
database_id path required string

The unique identifier of the database to retrieve.

Responses

200

Database retrieved successfully

404

Database not found.

500

Internal server error.

GET /table/databases/{database_id}

Documents 2 endpoints

GET /document

This endpoint allows you to retrieve a list of documents. You can optionally filter the documents by title using the “title” query parameter.

operationId: Documents_listDocumentsByTitle

Parameters

Name In Required Type Description
title query optional string

Filter documents by title (optional)

Responses

200

List of documents.

400

Bad Request

500

Internal Server Error

GET /document
GET /document/{document_id}

This endpoint allows you to retrieve a document by its unique identifier (document_id).

operationId: Documents_getById

Parameters

Name In Required Type Description
document_id path required string

The unique identifier of the document

Responses

200

Document retrieved successfully

404

Document not found

500

Internal Server Error

GET /document/{document_id}

Eventcategories 2 endpoints

GET /event/category

List all the event categories in the workspace. Optional filter by title.

operationId: EventCategories_list

Parameters

Name In Required Type Description
title query optional string

Filter event categories by title

Responses

200

List of event categories.

400

Bad Request

500

Internal Server Error

GET /event/category
GET /event/category/{event_category_id}

Retrieve the information of a specific event category.

operationId: EventCategories_getById

Parameters

Name In Required Type Description
event_category_id path required string

ID of the event category to retrieve

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /event/category/{event_category_id}

Eventproperties 2 endpoints

GET /event/event_properties

Retrieve a list of events with optional filtering using the integration_id, parent_id (the event), and title.

operationId: EventProperties_listEventProperties

Parameters

Name In Required Type Description
integration_id query optional string

Filter by integration ID

parent_id query optional string

Filter by parent ID

title query optional string

Filter by title

Responses

200

List of event properties.

400

Bad Request

500

Internal Server Error

GET /event/event_properties
GET /event/event_properties/{event_property_id}

Retrieve a specific event property by its ID.

operationId: EventProperties_getById

Parameters

Name In Required Type Description
event_property_id path required string

The ID of the event property to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /event/event_properties/{event_property_id}

Events 2 endpoints

GET /event/events

Retrieve a list of events with optional filtering using the integration_id, parent_id (the event category), and title.

operationId: Events_listEventsByFiltering

Parameters

Name In Required Type Description
integration_id query optional string

Filter by integration ID

parent_id query optional string

Filter by parent ID

title query optional string

Filter by title

Responses

200

List of events.

400

Bad Request

500

Internal Server Error

GET /event/events
GET /event/events/{event_id}

Retrieve a specific event by its ID.

operationId: Events_getById

Parameters

Name In Required Type Description
event_id path required string

The ID of the event to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /event/events/{event_id}

Integrations 2 endpoints

GET /integration/integrations

This endpoint will return all the integrations active in your workspace.

operationId: Integrations_listActive

Parameters

Name In Required Type Description
type query optional string

The type of integrations to filter.

Responses

200

List of integrations.

400

Bad request.

500

Internal server error.

GET /integration/integrations
GET /integration/integrations/{integration_id}

This endpoint will provide the details of an individual integration.

operationId: Integrations_getById

Parameters

Name In Required Type Description
integration_id path required string

The ID of the integration to retrieve.

Responses

200

Integration details retrieved successfully.

404

Integration not found.

500

Internal server error.

GET /integration/integrations/{integration_id}

Lineage 2 endpoints

GET /lineage/manual

Get lineage objects with optional filtering by source and destination entity.

operationId: Lineage_listObjectsWithFiltering

Parameters

Name In Required Type Description
from_entity__in query optional string
to_entity__in query optional string

Responses

200

List of lineage entries.

400

Bad Request

500

Internal Server Error

GET /lineage/manual
GET /lineage/manual/{lineage_id}

Get a lineage object by its ID.

operationId: Lineage_getById

Parameters

Name In Required Type Description
lineage_id path required string

The ID of the lineage entry to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /lineage/manual/{lineage_id}

Metrics 2 endpoints

GET /metric/metrics

Retrieve a list of metrics.

operationId: Metrics_list

Responses

200

List of metrics.

400

Bad Request

500

Internal Server Error

GET /metric/metrics
GET /metric/metrics/{metric_id}
operationId: Metrics_getById

Parameters

Name In Required Type Description
metric_id path required string

Responses

200

Metric retrieved successfully

404

Metric not found

GET /metric/metrics/{metric_id}

Monitors 5 endpoints

GET /monitors/incident/{incident_id}

This endpoint allows you to retrieve an incident by it’s ID.

operationId: Monitors_getIncidentById

Parameters

Name In Required Type Description
incident_id path required string

The unique identifier of the incident

Responses

200

Monitor retrieved successfully

404

Incident not found

500

Internal Server Error

GET /monitors/incident/{incident_id}
GET /monitors/incidents

This endpoint allows you to retrieve a list of all the incidents in your workspace.

operationId: Monitors_listIncidents

Responses

200

List of Incidents.

400

Bad Request

500

Internal Server Error

GET /monitors/incidents
GET /monitors/measurements

This endpoint allows you to retrieve a list of all the measurements in your workspace filtered by a Monitor or Incident. A query param of either the Monitor ID or Incident ID is required.

If using monitoring in automatic mode, thresholds will take some time to populate as the system learnins the appropriate range for your data.

operationId: Monitors_listMeasurements

Parameters

Name In Required Type Description
monitor query optional string

The unique identifier of the monitor

incident_id query optional string

The unique identifier of the incident

Responses

200

List of Measurements.

400

Bad Request

500

Internal Server Error

GET /monitors/measurements
GET /monitors/monitors

This endpoint allows you to retrieve a list of all the monitors in your workspace.

operationId: Monitors_listMonitors

Responses

200

List of Monitors.

400

Bad Request

500

Internal Server Error

GET /monitors/monitors
GET /monitors/monitors/{monitor_id}

This endpoint allows you to retrieve a monitors by it’s ID. You can find the ID in the URL of the monitor when accessing it from the Secoda UI.

operationId: Monitors_getById

Parameters

Name In Required Type Description
monitor_id path required string

The unique identifier of the monitor

Responses

200

Monitor retrieved successfully

404

Monitor not found

500

Internal Server Error

GET /monitors/monitors/{monitor_id}

Queries 2 endpoints

GET /query/queries

This endpoint allows you to retrieve a list of all queries in the workspace. No filtering is available at this time.

operationId: Queries_getList

Responses

200

List of queries.

400

Bad Request

500

Internal Server Error

GET /query/queries
GET /query/queries/{query_id}

This endpoint allows you to retrieve a query by its unique identifier (query_id).

operationId: Queries_getById

Parameters

Name In Required Type Description
query_id path required string

The unique identifier of the query

Responses

200

Query retrieved successfully

404

Query not found

500

Internal Server Error

GET /query/queries/{query_id}

Questions 4 endpoints

GET /question/questions

This endpoint allows you to retrieve a list of questions.

operationId: Questions_getList

Responses

200

List of questions.

400

Bad Request

500

Internal Server Error

GET /question/questions
GET /question/questions/{question_id}

This endpoint allows you to retrieve a question by its unique identifier (question_id).

operationId: Questions_getById

Parameters

Name In Required Type Description
question_id path required string

The unique identifier of the question

Responses

200

Question retrieved successfully

404

Question not found

500

Internal Server Error

GET /question/questions/{question_id}
GET /question/replies

This endpoint allows you to retrieve a list of replies. You can optionally filter the replies by question_id using the “question_id” query parameter.

operationId: Questions_listReplies

Parameters

Name In Required Type Description
question_id query optional string

Filter replies by question_id (optional)

Responses

200

List of replies.

400

Bad Request

500

Internal Server Error

GET /question/replies
GET /question/replies/{reply_id}

This endpoint allows you to retrieve a reply by its unique identifier (reply_id).

operationId: Questions_getReplyById

Parameters

Name In Required Type Description
reply_id path required string

The unique identifier of the reply

Responses

200

Reply retrieved successfully

404

Reply not found

500

Internal Server Error

GET /question/replies/{reply_id}

Schemas 2 endpoints

GET /table/schemas

Endpoint for retrieving a list of schemas with optional filtering by parent schema and title.

operationId: Schemas_listWithFilter

Parameters

Name In Required Type Description
parent query optional string

The ID of the parent database to filter by.

title query optional string

The title of the schema to filter by.

Responses

200

List of schemas.

400

Bad request.

500

Internal server error.

GET /table/schemas
GET /table/schemas/{schema_id}

Retrieve schema details by its unique ID.

operationId: Schemas_getById

Parameters

Name In Required Type Description
schema_id path required string

The ID of the schema to retrieve or update.

Responses

200

Schema details retrieved successfully

404

Schema not found.

500

Internal server error.

GET /table/schemas/{schema_id}

Tables 2 endpoints

GET /table/tables

This endpoint retrieves a list of tables, with optional filters for the integration, the schema, and the title of the table resource.

operationId: Tables_listTablesByFilter

Parameters

Name In Required Type Description
integration_id query optional string

Integration ID

parent_id query optional string

ID of the schema

title query optional string

Title of the table

Responses

200

List of databases.

400

Bad request.

500

Internal server error.

GET /table/tables
GET /table/tables/{table_id}

This endpoint retrieves a specific table by its ID.

operationId: Tables_getTableById

Parameters

Name In Required Type Description
table_id path required string

ID of the table to retrieve

Responses

200

Successful response

404

Table not found.

500

Internal server error.

GET /table/tables/{table_id}

Tags 2 endpoints

GET /tag

Get a list of tags. No filtering is currently available.

operationId: Tags_list

Responses

200

List of tags.

400

Bad Request

500

Internal Server Error

GET /tag
GET /tag/{tag_id}

Get a tag by its ID.

operationId: Tags_getById

Parameters

Name In Required Type Description
tag_id path required string

The ID of the tag to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /tag/{tag_id}

Teams 2 endpoints

GET /auth/teams

Get a list of teams in the workspace.

operationId: Teams_getList

Responses

200

List of teams.

400

Bad Request

500

Internal Server Error

GET /auth/teams
GET /auth/teams/{id}

Get a team by their ID.

operationId: Teams_getById

Parameters

Name In Required Type Description
id path required string

The ID of the team to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /auth/teams/{id}

Terms 2 endpoints

GET /dictionary/terms

This endpoint allows you to retrieve a list of dictionary terms with optional filtering by name of the term (title).

operationId: Terms_getListByTitle

Parameters

Name In Required Type Description
title query optional string

Filter terms by title (optional)

Responses

200

List of dictionary terms.

400

Bad Request

500

Internal Server Error

GET /dictionary/terms
GET /dictionary/terms/{term_id}

This endpoint allows you to retrieve a single dictionary term by its unique identifier (term_id).

operationId: Terms_getById

Parameters

Name In Required Type Description
term_id path required string

The unique identifier of the dictionary term

Responses

200

Dictionary term retrieved successfully

404

Term not found

500

Internal Server Error

GET /dictionary/terms/{term_id}

Usergroups 2 endpoints

GET /auth/group

Get a list of user groups in the workspace.

operationId: UserGroups_list

Responses

200

List of groups.

400

Bad Request

500

Internal Server Error

GET /auth/group
GET /auth/group/{id}

Get a user group by their ID.

operationId: UserGroups_getUserGroupById

Parameters

Name In Required Type Description
id path required string

The ID of the group to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /auth/group/{id}

Users 2 endpoints

GET /user

Get a list of users.

operationId: Users_list

Responses

200

List of users.

400

Bad Request

500

Internal Server Error

GET /user
GET /user/{id}

Get a user by their ID.

operationId: Users_getUserById

Parameters

Name In Required Type Description
id path required string

The ID of the user to retrieve.

Responses

200

OK

404

Not Found

500

Internal Server Error

GET /user/{id}

Schemas

object 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."
    }
  }
}
object 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."
    }
  }
}
object 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."
    }
  }
}
object ChartResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/BaseResponse"
    },
    {
      "type": "object",
      "properties": {
        "product": {
          "type": "string",
          "example": "tableau",
          "description": "Indicates the name of the integration."
        }
      }
    }
  ]
}
object ChartsListResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ChartResponse"
          }
        }
      }
    }
  ]
}
object 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."
        }
      }
    }
  ]
}
object CollectionsListCollectionsByTitleResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CollectionResponse"
          }
        }
      }
    }
  ]
}
object 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."
        }
      }
    }
  ]
}
object ColumnsGetListResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ColumnResponse"
          }
        }
      }
    }
  ]
}
object 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."
    }
  }
}
object DashboardGroupResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/BaseResponse"
    },
    {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean",
          "description": "This is a deprecated field."
        }
      }
    }
  ]
}
object DashboardGroupsListResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/DashboardGroupResponse"
          }
        }
      }
    }
  ]
}
object 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."
        }
      }
    }
  ]
}
object DashboardsListWithFilterResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/DashboardResponse"
          }
        }
      }
    }
  ]
}
object DatabasesListAllActiveResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BaseResponse"
          }
        }
      }
    }
  ]
}
object 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."
        }
      }
    }
  ]
}
object DocumentsListDocumentsByTitleResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/DocumentResponse"
          }
        }
      }
    }
  ]
}
object 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."
    }
  }
}
object EventCategoriesListResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BaseResponse"
          }
        }
      }
    }
  ]
}
object EventPropertiesListEventPropertiesResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/EventPropertyResponse"
          }
        }
      }
    }
  ]
}
object 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."
        }
      }
    }
  ]
}
object EventsListEventsByFilteringResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BaseResponse"
          }
        }
      }
    }
  ]
}
object 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."
    }
  }
}
object 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."
    }
  }
}
object 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 {}."
    }
  }
}
object IntegrationsListActiveResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/IntegrationResponse"
          }
        }
      }
    }
  ]
}
object 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)."
    }
  }
}
object 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)."
    }
  }
}
object 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."
    }
  }
}
object LineageListObjectsWithFilteringResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/LineageResponse"
          }
        }
      }
    }
  ]
}
object 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."
    }
  }
}
object 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."
    }
  }
}
object 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."
    }
  }
}
object 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."
        }
      }
    }
  ]
}
object 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."
    }
  }
}
object MetricsListResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MetricResponse"
          }
        }
      }
    }
  ]
}
object MetricsRunMetricExecutionRequest
{
  "type": "object",
  "description": "An empty payload is required to execute the metric."
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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."
    }
  }
}
object MonitorsListIncidentsResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/IncidentResponse"
          }
        }
      }
    }
  ]
}
object MonitorsListMeasurementsResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MeasurementResponse"
          }
        }
      }
    }
  ]
}
object MonitorsListMonitorsResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MonitorResponse"
          }
        }
      }
    }
  ]
}
object QueriesGetListResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/QueryResponse"
          }
        }
      }
    }
  ]
}
object 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."
        }
      }
    }
  ]
}
object 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."
        }
      }
    }
  ]
}
object 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>"
    }
  }
}
object 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>"
    }
  }
}
object QuestionsGetListResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/QuestionResponse"
          }
        }
      }
    }
  ]
}
object QuestionsListRepliesResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ListResponse"
    },
    {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ReplyResponse"
          }
        }
      }
    }
  ]
}