Integrations

External sources from which resources and metadata are extracted.

List Integrations

get
/integration/integrations

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
/integration/integrations
GET /api/v1/integration/integrations HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
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
/integration/integrations

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
/integration/integrations
POST /api/v1/integration/integrations HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
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
/integration/integrations/{integration_id}

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
/integration/integrations/{integration_id}
GET /api/v1/integration/integrations/{integration_id} HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
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
/integration/integrations/{integration_id}

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

No content

delete
/integration/integrations/{integration_id}
DELETE /api/v1/integration/integrations/{integration_id} HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Upload Integration Metadata (via CSV)

post
/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.

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.

No content

post
/integration/integrations/{integration_id}/import_metadata
POST /api/v1/integration/integrations/{integration_id}/import_metadata HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 32

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

No content

Upload Integration Metadata (via JSONL)

post
/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.

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.

No content

post
/integration/integrations/{integration_id}/import_jsonl_metadata
POST /api/v1/integration/integrations/{integration_id}/import_jsonl_metadata HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
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
/integration/dbt/{integration_id}/upload_artifacts/
Authorizations
Path parameters
integration_idstringRequired

The ID of the dbt Core integration

Body
run_resultsstring · binaryRequired
manifeststring · binaryRequired
Responses
200

Artifacts uploaded successfully.

No content

post
/integration/dbt/{integration_id}/upload_artifacts/
POST /api/v1/integration/dbt/{integration_id}/upload_artifacts/ HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
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
/integration/dbt/{integration_id}/trigger/
Authorizations
Path parameters
integration_idstringRequired

The ID of the dbt Core integration

Responses
200

Integration sync triggered successfully.

No content

post
/integration/dbt/{integration_id}/trigger/
POST /api/v1/integration/dbt/{integration_id}/trigger/ HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Get Entities With Failing or Warning Tests

get
/integration/dbt/{integration_id}/failing_tests/

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
/integration/dbt/{integration_id}/failing_tests/
GET /api/v1/integration/dbt/{integration_id}/failing_tests/ HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
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
/api/v2/integration_v2/slack/conversations/list

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

Authorizations
Responses
200

List of Slack conversations or channels

application/json
get
/api/v2/integration_v2/slack/conversations/list
GET /api/v1/api/v2/integration_v2/slack/conversations/list HTTP/1.1
Host: api.secoda.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": "text",
    "name": "text"
  }
]

Was this helpful?