Integrations

External sources from which resources and metadata are extracted.

List Integrations

get

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

Authorizations
Query parameters
typestringOptional

The type of integrations to filter.

Example: bigquery
Responses
200
List of integrations.
application/json
Responseall of
get
GET /api/v1/integration/integrations HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Accept: */*
{
  "links": {
    "next": "https://api.secoda.co/resource/all/?page=2",
    "previous": "None"
  },
  "meta": {
    "page": 1,
    "previous_page": "None",
    "next_page": 2
  },
  "count": 315,
  "total_pages": 7,
  "results": [
    {
      "id": "740904fe-e87d-44f8-8a91-b13631ff2812",
      "created_at": "2023-09-22T15:30:00Z",
      "updated_at": "2023-09-22T15:30:00Z",
      "name": "Tableau",
      "type": "tableau",
      "credentials": {},
      "workspace_id": "f71585fa-251c-4102-8d81-c97c57c8d435",
      "ssh_tunnel": "None",
      "execute_access": [
        "f71585fa-251c-4102-8d81-c97c57c8d435"
      ],
      "scheduled_extractions_hour": 3,
      "scheduled_extractions_frequency": 7,
      "scheduled_extractions_next_run": "2023-10-15T09:45:00Z",
      "scheduled_extractions_last_run": "2023-10-15T09:45:00Z",
      "properties": {},
      "preview_access_users": [
        "f71585fa-251c-4102-8d81-c97c57c8d435"
      ],
      "preview_access_roles": [
        "Admin",
        "Editor"
      ],
      "preview_access_groups": [
        "f71585fa-251c-4102-8d81-c97c57c8d435"
      ],
      "teams": [
        "e8ac09ed-e51e-4e61-8eaf-59942c98c260"
      ]
    }
  ]
}

Create Integration

post

Use this endpoint to create a custom integration, or add credentials for a native integration programatically.

Authorizations
Body
namestringOptional

Represents the name of the integration data source or tool.

Example: Sample Integration
typestringOptional

This indicates the type of integration (e.g., "custom").

Example: custom
teamsstring[]Optional

Indicates the teams associated with this integration. The access can be edited in the UI.

Example: ["4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251","a5423e2e-93b8-4b2c-af3c-7b7f0eefea14"]
credentialsobjectOptional

If you are adding a custom integration, the value of this parameter should always be empty {}.

Responses
201
Integration created successfully.
application/json
post
POST /api/v1/integration/integrations HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Content-Type: application/json
Accept: */*
Content-Length: 150

{
  "name": "Sample Integration",
  "type": "custom",
  "teams": [
    "4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251",
    "a5423e2e-93b8-4b2c-af3c-7b7f0eefea14"
  ],
  "credentials": {}
}
{
  "id": "740904fe-e87d-44f8-8a91-b13631ff2812",
  "created_at": "2023-09-22T15:30:00Z",
  "updated_at": "2023-09-22T15:30:00Z",
  "name": "Tableau",
  "type": "tableau",
  "credentials": {},
  "workspace_id": "f71585fa-251c-4102-8d81-c97c57c8d435",
  "ssh_tunnel": "None",
  "execute_access": [
    "f71585fa-251c-4102-8d81-c97c57c8d435"
  ],
  "scheduled_extractions_hour": 3,
  "scheduled_extractions_frequency": 7,
  "scheduled_extractions_next_run": "2023-10-15T09:45:00Z",
  "scheduled_extractions_last_run": "2023-10-15T09:45:00Z",
  "properties": {},
  "preview_access_users": [
    "f71585fa-251c-4102-8d81-c97c57c8d435"
  ],
  "preview_access_roles": [
    "Admin",
    "Editor"
  ],
  "preview_access_groups": [
    "f71585fa-251c-4102-8d81-c97c57c8d435"
  ],
  "teams": [
    "e8ac09ed-e51e-4e61-8eaf-59942c98c260"
  ]
}

Get Integration

get

This endpoint will provide the details of an individual integration.

Authorizations
Path parameters
integration_idstringRequired

The ID of the integration to retrieve.

Example: d31e59c7-cd52-4398-9d6e-da313a7b7775
Responses
200
Integration details retrieved successfully.
application/json
get
GET /api/v1/integration/integrations/{integration_id} HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Accept: */*
{
  "id": "740904fe-e87d-44f8-8a91-b13631ff2812",
  "created_at": "2023-09-22T15:30:00Z",
  "updated_at": "2023-09-22T15:30:00Z",
  "name": "Tableau",
  "type": "tableau",
  "credentials": {},
  "workspace_id": "f71585fa-251c-4102-8d81-c97c57c8d435",
  "ssh_tunnel": "None",
  "execute_access": [
    "f71585fa-251c-4102-8d81-c97c57c8d435"
  ],
  "scheduled_extractions_hour": 3,
  "scheduled_extractions_frequency": 7,
  "scheduled_extractions_next_run": "2023-10-15T09:45:00Z",
  "scheduled_extractions_last_run": "2023-10-15T09:45:00Z",
  "properties": {},
  "preview_access_users": [
    "f71585fa-251c-4102-8d81-c97c57c8d435"
  ],
  "preview_access_roles": [
    "Admin",
    "Editor"
  ],
  "preview_access_groups": [
    "f71585fa-251c-4102-8d81-c97c57c8d435"
  ],
  "teams": [
    "e8ac09ed-e51e-4e61-8eaf-59942c98c260"
  ]
}

Delete Integration

delete

This endpoint deletes a specific integration by its ID.

Authorizations
Path parameters
integration_idstringRequired

ID of the integration to delete

Example: e7691426-2c2a-46b4-98e7-d09d0b82b2b1
Responses
204
Integration deleted successfully
delete
DELETE /api/v1/integration/integrations/{integration_id} HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Accept: */*

No content

Upload Integration Metadata (via CSV)

post

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.

Authorizations
Path parameters
integration_idstringRequired

The ID of the integration to upload metadata for.

Example: d31e59c7-cd52-4398-9d6e-da313a7b7775
Body
filestring · binaryOptional

The path to the CSV file containing your metadata and resources. The format of the CSV file can be found here.

Example: path/to/your/file.csv
Responses
200
Integration metadata uploaded successfully.
post
POST /api/v1/integration/integrations/{integration_id}/import_metadata HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Content-Type: multipart/form-data
Accept: */*
Content-Length: 32

{
  "file": "path/to/your/file.csv"
}

No content

Upload Integration Metadata (via JSONL)

post

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.

Authorizations
Path parameters
integration_idstringRequired

The ID of the integration to upload metadata and/or lineage for.

Example: d31e59c7-cd52-4398-9d6e-da313a7b7775
Body
resources_filestring · binaryRequired

The path to the your resources file. The expected formatting of this file can be found here.

Example: path/to/your/resources_file.jsonl
lineages_filestring · binaryOptional

The path to the your lineages file. The expected formatting of this file can be found here.

Example: path/to/your/lineages_file.jsonl
Responses
200
Integration JSONL file uploaded successfully.
post
POST /api/v1/integration/integrations/{integration_id}/import_jsonl_metadata HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Content-Type: multipart/form-data
Accept: */*
Content-Length: 105

{
  "resources_file": "path/to/your/resources_file.jsonl",
  "lineages_file": "path/to/your/lineages_file.jsonl"
}

No content

Upload dbt Core Artifacts

post
Authorizations
Path parameters
integration_idstringRequired

The ID of the dbt Core integration

Body
run_resultsstring · binaryRequired
manifeststring · binaryRequired
Responses
200
Artifacts uploaded successfully.
post
POST /api/v1/integration/dbt/{integration_id}/upload_artifacts/ HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Content-Type: multipart/form-data
Accept: */*
Content-Length: 44

{
  "run_results": "binary",
  "manifest": "binary"
}
200

Artifacts uploaded successfully.

No content

Trigger dbt Core Sync

post
Authorizations
Path parameters
integration_idstringRequired

The ID of the dbt Core integration

Responses
200
Integration sync triggered successfully.
post
POST /api/v1/integration/dbt/{integration_id}/trigger/ HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Accept: */*

No content

Get Entities With Failing or Warning Tests

get

Get entities with tests that are failing or have a warning.

Authorizations
Path parameters
integration_idstringRequired

The ID of the dbt Core integration

Responses
200
Entities fetched successfully.
application/json
get
GET /api/v1/integration/dbt/{integration_id}/failing_tests/ HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Accept: */*
200

Entities fetched successfully.

{
  "warning": [
    "56edcb73-35b2-4f64-9ed5-3ef7c141f089",
    "9e70cc79-eb5b-4d7f-97d7-f0f8752a07a1",
    "d444362f-7fcb-4766-9cf5-aa361fbcd1fe",
    "cb68ce43-ef90-4815-9a5e-9692b1e1948a"
  ],
  "failing": [
    "05d4f872-6fd6-4db4-8360-499ce3548b47",
    "43d6d0a8-24c0-4509-830f-a124b15bac3e",
    "289c3e40-3a33-4352-a5ae-1a2e0f33456e"
  ]
}

List Slack Conversations or Channels

get

Use this endpoint to list all available Slack conversations or channels.

Authorizations
Responses
200
List of Slack conversations or channels
application/json
get
GET /api/v1/api/v2/integration_v2/slack/conversations/list HTTP/1.1
Host: api.secoda.co
Authorization: Bearer string
Accept: */*
[
  {
    "id": "text",
    "name": "text"
  }
]

Was this helpful?