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
Retrieve a list of charts with optional filtering by integration_id, parent_id (the dashboard the chart belongs to), and title.
| 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 |
List of charts.
Bad Request
Internal Server Error
GET /dashboard/charts
/dashboard/charts
Create a new chart with the provided data. Charts must have a dashboard as a parent, and be associated with an integration.
Chart data
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Created
Bad Request
Internal Server Error
POST /dashboard/charts
/dashboard/charts/{chart_id}
Delete a specific chart by its ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| chart_id | path | required | string | — |
OK
Not Found
Internal Server Error
DELETE /dashboard/charts/{chart_id}
/dashboard/charts/{chart_id}
Retrieve a specific chart by its ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| chart_id | path | required | string | The ID of the chart to retrieve. |
OK
Not Found
Internal Server Error
GET /dashboard/charts/{chart_id}
/dashboard/charts/{chart_id}
Use this endpoint to update chart metadata.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| chart_id | path | required | string | The ID of the chart to update. |
application/json
BasePatchRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| owners | array | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| subscribers | array | optional |
OK
Not Found
Internal Server Error
PATCH /dashboard/charts/{chart_id}
/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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| title | query | optional | string | Filter collections by title (optional) |
List of collections.
Bad Request
Internal Server Error
GET /collection/collections
/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.
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Created
Bad Request
Internal Server Error
POST /collection/collections
/collection/collections/{collection_id}
This endpoint allows you to delete a collection by its unique identifier (collection_id).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| collection_id | path | required | string | The unique identifier of the collection to delete |
Collection deleted successfully
Collection not found
Internal Server Error
DELETE /collection/collections/{collection_id}
/collection/collections/{collection_id}
This endpoint allows you to retrieve a collection by its unique identifier (collection_id).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| collection_id | path | required | string | The unique identifier of the collection |
Collection retrieved successfully
Collection not found
Internal Server Error
GET /collection/collections/{collection_id}
/collection/collections/{collection_id}
Use this endpoint to update collections. 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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| collection_id | path | required | string | The unique identifier of the collection to edit |
application/json
BasePatchRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| owners | array | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| subscribers | array | optional |
Description updated successfully
Bad Request
Collection not found
Internal Server Error
PATCH /collection/collections/{collection_id}
/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.
| 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 |
List of columns.
Bad request.
Internal server error.
GET /table/columns
/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.
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Column created successfully.
Bad request.
Internal server error.
POST /table/columns
/table/columns/{column_id}
This endpoint allows you to delete a specific column by its identifier.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| column_id | path | required | string | Identifier of the column to delete. |
Column deleted successfully.
Column not found.
Internal server error.
DELETE /table/columns/{column_id}
/table/columns/{column_id}
This endpoint allows you to retrieve information about a specific column by its identifier.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| column_id | path | required | string | Identifier of the column to retrieve. |
Column retrieved successfully.
Column not found.
Internal server error.
GET /table/columns/{column_id}
/table/columns/{column_id}
This endpoint allows you to edit the metadata of a specific column by its identifier.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| column_id | path | required | string | Identifier of the column to retrieve. |
application/json
BasePatchRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| owners | array | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| subscribers | array | optional |
Column retrieved successfully.
Column not found.
Internal server error.
PATCH /table/columns/{column_id}
/dashboard/groups
List all the dashboard groups in the workspace. Optional filter by title.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| title | query | optional | string | Filter groups by title |
List of groups.
Bad Request
Internal Server Error
GET /dashboard/groups
/dashboard/groups
Use this endpoint to create a dashboard group, which will be the parent of dashboards.
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Created
Bad Request
Internal Server Error
POST /dashboard/groups
/dashboard/groups/{group_id}
Retrieve the information of a specific dashboard group.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| group_id | path | required | string | ID of the dashboard group to retrieve |
OK
Not Found
Internal Server Error
GET /dashboard/groups/{group_id}
/dashboard/dashboards
Retrieve a list of dashboards with optional filtering using the integration_id, parent_id (the dashboard group), and title.
| 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 |
List of dashboards.
Bad Request
Internal Server Error
GET /dashboard/dashboards
/dashboard/dashboards
Create a new dashboard with the provided data. Dashboards must have a Group as a parent, and be associated with an integration.
Dashboard data
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Created
Bad Request
Internal Server Error
POST /dashboard/dashboards
/dashboard/dashboards/{dashboard_id}
Delete a specific dashboard by its ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dashboard_id | path | required | string | The ID of the dashboard to delete. |
OK
Not Found
Internal Server Error
DELETE /dashboard/dashboards/{dashboard_id}
/dashboard/dashboards/{dashboard_id}
Retrieve a specific dashboard by its ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dashboard_id | path | required | string | The ID of the dashboard to retrieve. |
OK
Not Found
Internal Server Error
GET /dashboard/dashboards/{dashboard_id}
/dashboard/dashboards/{dashboard_id}
Use this endpoint to update dashboard metadata.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dashboard_id | path | required | string | The ID of the dashboard to update. |
Represents the description of the dashboard
application/json
BasePatchRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| owners | array | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| subscribers | array | optional |
OK
Not Found
Internal Server Error
PATCH /dashboard/dashboards/{dashboard_id}
/table/databases
Use this endpoint to see all the databases active in your workspace.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| title | query | optional | string | The title of the database to search for. |
List of databases.
Bad request.
Internal server error.
GET /table/databases
/table/databases
Create a new database resource. It must have a schema as a parent, and an associated integration.
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Database created successfully
Bad request.
Internal server error.
POST /table/databases
/table/databases/{database_id}
Use this endpoint for retrieving a specific database by its ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| database_id | path | required | string | The unique identifier of the database to retrieve. |
Database retrieved successfully
Database not found.
Internal server error.
GET /table/databases/{database_id}
/document
This endpoint allows you to retrieve a list of documents. You can optionally filter the documents by title using the “title” query parameter.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| title | query | optional | string | Filter documents by title (optional) |
List of documents.
Bad Request
Internal Server Error
GET /document
/document
This endpoint allows you to create a new document with the specified data. The document content is pulled from the definition parameter.
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Created
Bad Request
Internal Server Error
POST /document
/document/{document_id}
This endpoint allows you to delete a document by its unique identifier (document_id).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| document_id | path | required | string | The unique identifier of the document to delete |
Document deleted successfully
Document not found
Internal Server Error
DELETE /document/{document_id}
/document/{document_id}
This endpoint allows you to retrieve a document by its unique identifier (document_id).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| document_id | path | required | string | The unique identifier of the document |
Document retrieved successfully
Document not found
Internal Server Error
GET /document/{document_id}
/document/{document_id}
This endpoint allows you to edit the definition of a document by its unique identifier (document_id). The definition of the document maps to the visible content of the document itself.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| document_id | path | required | string | The unique identifier of the document to edit |
application/json
BasePatchRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| owners | array | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| subscribers | array | optional |
Definition updated successfully
Bad Request
Document not found
Internal Server Error
PATCH /document/{document_id}
/event/category
List all the event categories in the workspace. Optional filter by title.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| title | query | optional | string | Filter event categories by title |
List of event categories.
Bad Request
Internal Server Error
GET /event/category
/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.
application/json
EventCategoriesCreateNewCategoryRequest
| Property | Type | Required |
|---|---|---|
| teams | array | optional |
| title | string | optional |
| integration | string | optional |
Event category created
Bad Request
Internal Server Error
POST /event/category
/event/category/{event_category_id}
Retrieve the information of a specific event category.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| event_category_id | path | required | string | ID of the event category to retrieve |
OK
Not Found
Internal Server Error
GET /event/category/{event_category_id}
/event/event_properties
Retrieve a list of events with optional filtering using the integration_id, parent_id (the event), and title.
| 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 |
List of event properties.
Bad Request
Internal Server Error
GET /event/event_properties
/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.
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Event property created.
Not Found
Internal Server Error
POST /event/event_properties
/event/event_properties/{event_property_id}
Delete a specific event property by it’s ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| event_property_id | path | required | string | The ID of the event property to delete. |
OK
Not Found
Internal Server Error
DELETE /event/event_properties/{event_property_id}
/event/event_properties/{event_property_id}
Retrieve a specific event property by its ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| event_property_id | path | required | string | The ID of the event property to retrieve. |
OK
Not Found
Internal Server Error
GET /event/event_properties/{event_property_id}
/event/event_properties/{event_property_id}
Use this endpoint to partially update event metadata.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| event_property_id | path | required | string | The ID of the event property to update. |
application/json
BasePatchRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| owners | array | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| subscribers | array | optional |
OK
Not Found
Internal Server Error
PATCH /event/event_properties/{event_property_id}
/event/events
Retrieve a list of events with optional filtering using the integration_id, parent_id (the event category), and title.
| 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 |
List of events.
Bad Request
Internal Server Error
GET /event/events
/event/events
Create a new event with the provided data. Events must have a Category as a parent, and be associated with an integration.
application/json
BaseResourceRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| title | string | optional |
| owners | array | optional |
| parent | string | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| integration | string | optional |
| subscribers | array | optional |
Event created
Bad Request
Internal Server Error
POST /event/events
/event/events/{event_id}
Delete a specific event by it’s ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| event_id | path | required | string | The ID of the event to delete. |
OK
Not Found
Internal Server Error
DELETE /event/events/{event_id}
/event/events/{event_id}
Retrieve a specific event by its ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| event_id | path | required | string | The ID of the event to retrieve. |
OK
Not Found
Internal Server Error
GET /event/events/{event_id}
/event/events/{event_id}
Use this endpoint to partially update event metadata.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| event_id | path | required | string | The ID of the event to update. |
application/json
BasePatchRequest
| Property | Type | Required |
|---|---|---|
| pii | boolean | optional |
| tags | array | optional |
| teams | array | optional |
| owners | array | optional |
| verified | boolean | optional |
| published | boolean | optional |
| definition | string | optional |
| properties | object | optional |
| └ custom | array | optional |
| └ name | string | optional |
| └ type | string | optional |
| └ order | integer | optional |
| └ value | string | optional |
| collections | array | optional |
| description | string | optional |
| subscribers | array | optional |
OK
Not Found
Internal Server Error
PATCH /event/events/{event_id}
/integration/integrations
This endpoint will return all the integrations active in your workspace.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| type | query | optional | string | The type of integrations to filter. |
List of integrations.
Bad request.
Internal server error.
GET /integration/integrations
/integration/integrations
Use this endpoint to create a custom integration, or add credentials for a native integration programatically.
application/json
IntegrationsCreateNewIntegrationRequest
| Property | Type | Required |
|---|---|---|
| name | string | optional |
| type | string | optional |
| teams | array | optional |
| credentials | object | optional |
Integration created successfully.
Bad request.
Internal server error.
POST /integration/integrations
/integration/integrations/{integration_id}
This endpoint will provide the details of an individual integration.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| integration_id | path | required | string | The ID of the integration to retrieve. |
Integration details retrieved successfully.
Integration not found.
Internal server error.
GET /integration/integrations/{integration_id}
/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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| integration_id | path | required | string | The ID of the integration to upload metadata and/or lineage for. |
multipart/form-data
IntegrationsUploadJsonlMetadataRequest
| Property | Type | Required |
|---|---|---|
| lineages_file | string | optional |
| resources_file | string | required |
Integration JSONL file uploaded successfully.
Integration not found.
Internal server error.
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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| integration_id | path | required | string | The ID of the integration to upload metadata for. |
multipart/form-data
IntegrationsUploadMetadataCsvRequest
| Property | Type | Required |
|---|---|---|
| file | string | optional |
Integration metadata uploaded successfully.
Integration not found.
Internal server error.
POST /integration/integrations/{integration_id}/import_metadata
/lineage/manual
Get lineage objects with optional filtering by source and destination entity.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| from_entity__in | query | optional | string | — |
| to_entity__in | query | optional | string | — |
List of lineage entries.
Bad Request
Internal Server Error
GET /lineage/manual
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"
}
}
}
}
]
}