⌘K

Tables

Listing, fetching and deleting tables.

Overview

These three requests let your systems see what a department holds. List its tables to check an upload has finished, fetch one to see its columns, or delete a table you no longer need.

ToSend
List a department's tablesGET /v1.0/projects/{ProjectID}/cards
Fetch one tableGET /v1.0/projects/{ProjectID}/cards/{CardID}
Delete a tableDELETE /v1.0/projects/{ProjectID}/cards/{CardID}

Each address starts with the base URL, https://searchmira.com/api. ProjectID is the department's id and CardID is the table's. Overview and authentication shows where to find both. Every request carries your X-API-Key header.

Listing and fetching don't use credits.

List a department's tables

GET https://searchmira.com/api/v1.0/projects/{ProjectID}/cards

You get back every table in the department that you can see, with a short summary of each:

{
  "Msg": "OK",
  "ExecTime": 0.575,
  "Cards": [
    {
      "CardID": "CRD-c3b...",
      "CardName": "Leads",
      "Rows": 150,
      "Domain": "Sales",
      "Processed": true,
      "SuccessfulUpload": true,
      "ConnectorSource": "Hubspot",
      "ConnectorStatus": "active",
      "UploadCompletionTime": "2026-04-28T14:14:22",
      "LockedFromDelete": false
    }
  ]
}
FieldWhat it tells you
CardIDThe table's id.
CardNameThe table's name, as people see it in Mira.
RowsHow many rows it has.
DomainThe subject area the table belongs to.
Processedtrue once Mira has finished reading the file. Until then the table isn't ready to ask about.
SuccessfulUploadWhether the file was read without a problem.
ConnectorSourceThe system the table comes from, if it comes from a connected system rather than an upload.
ConnectorStatusFor a connected system: active or paused.
UploadCompletionTimeWhen Mira finished reading the latest file.
LockedFromDeletetrue if the table can't be deleted right now. See below.

To wait for an upload to finish, list the tables every so often and look for your CardID with Processed set to true.

Example

curl https://searchmira.com/api/v1.0/projects/YOUR_PROJECT_ID/cards \
  -H "X-API-Key: YOUR_API_KEY"

Fetch one table

GET https://searchmira.com/api/v1.0/projects/{ProjectID}/cards/{CardID}

You get the same summary as in the list, plus a description of the table and its columns:

{
  "Msg": "OK",
  "ExecTime": 0.575,
  "CardID": "CRD-c3b...",
  "CardName": "Leads",
  "Rows": 150,
  "Domain": "Sales",
  "Processed": true,
  "SuccessfulUpload": true,
  "ConnectorSource": "Hubspot",
  "ConnectorStatus": "active",
  "UploadCompletionTime": "2026-04-28T14:14:22",
  "LockedFromDelete": false,
  "Description": "A collection of sales leads.",
  "Columns": [
    {
      "ColumnName": "id",
      "ColumnDescription": "A unique numeric identifier assigned to each lead.",
      "DataType": "long"
    },
    {
      "ColumnName": "company_name",
      "ColumnDescription": "The name of the company that the lead relates to.",
      "DataType": "string"
    }
  ]
}

Mira writes the descriptions itself when it reads the file.

Example

curl https://searchmira.com/api/v1.0/projects/YOUR_PROJECT_ID/cards/YOUR_CARD_ID \
  -H "X-API-Key: YOUR_API_KEY"

Delete a table

DELETE https://searchmira.com/api/v1.0/projects/{ProjectID}/cards/{CardID}

This removes the table and its data from Mira. It can't be undone. A successful delete returns:

{
  "Msg": "OK",
  "ExecTime": 0.575,
  "Success": true
}

You need to be allowed to manage data in the department. Without that, the request is refused with a 403.

When deleting is refused

Mira refuses to delete a table, with a 409, in two cases:

  • It is still being read. Wait until Processed is true, then try again.
  • It comes from a connected system. A table fed by a live connection can't be removed through the API while that connection is feeding it.

The LockedFromDelete field tells you in advance: when it is true, a delete will be refused.

Example

curl -X DELETE https://searchmira.com/api/v1.0/projects/YOUR_PROJECT_ID/cards/YOUR_CARD_ID \
  -H "X-API-Key: YOUR_API_KEY"