Skip to main content

Linear full reference

This is the full reference documentation for the Linear agent connector.

Supported entities and actions​

The Linear connector supports the following entities and actions.

EntityActions
IssuesList, Get, Create, Update, Context Store Search, Context Store SQL Query, Semantic Search
ProjectsList, Get, Create, Update, Context Store Search, Context Store SQL Query
TeamsList, Get, Context Store Search, Context Store SQL Query
Workflow StatesList, Context Store Search, Context Store SQL Query
UsersList, Get, Context Store Search, Context Store SQL Query
CommentsList, Get, Create, Update, Context Store Search, Context Store SQL Query, Semantic Search

Issues​

Issues List​

Returns a paginated list of issues via GraphQL with pagination support

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "issues",
"action": "list"
}'

Python SDK​

await linear.issues.list()

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "list"
}'

Parameters​

Parameter NameTypeRequiredDescription
firstintegerNoNumber of items to return (max 250)
afterstringNoCursor to start after (for pagination)
Response Schema

Records​

Field NameTypeDescription
idstring
titlestring
descriptionstring | any
stateobject | any
prioritynumber | any
assigneeobject | any
teamobject | any
projectobject | any
createdAtstring
updatedAtstring

Meta​

Field NameTypeDescription
hasNextPageboolean
endCursorstring | null

Issues Get​

Get a single issue by ID via GraphQL

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "issues",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK​

await linear.issues.get(
id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
idstringYesIssue ID
Response Schema

Records​

Field NameTypeDescription
idstring
titlestring
descriptionstring | any
stateobject | any
prioritynumber | any
assigneeobject | any
teamobject | any
projectobject | any
createdAtstring
updatedAtstring

Issues Create​

Create a new issue via GraphQL mutation

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "issues",
"action": "create",
"params": {
"teamId": "<str>",
"title": "<str>",
"description": "<str>",
"stateId": "<str>",
"priority": 0,
"projectId": "<str>"
}
}'

Python SDK​

await linear.issues.create(
team_id="<str>",
title="<str>",
description="<str>",
state_id="<str>",
priority=0,
project_id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "create",
"params": {
"teamId": "<str>",
"title": "<str>",
"description": "<str>",
"stateId": "<str>",
"priority": 0,
"projectId": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
teamIdstringYesThe ID of the team to create the issue in
titlestringYesThe title of the issue
descriptionstringNoThe description of the issue (supports markdown)
stateIdstringNoThe ID of the workflow state for the issue
priorityintegerNoThe priority of the issue (0=No priority, 1=Urgent, 2=High, 3=Medium, 4=Low)
projectIdstringNoThe ID of the project to add the issue to. Get project IDs from the projects list.
Response Schema

Records​

Field NameTypeDescription
successboolean
issueobject
issue.idstring
issue.titlestring
issue.descriptionstring | any
issue.stateobject | any
issue.prioritynumber | any
issue.assigneeobject | any
issue.projectobject | any
issue.createdAtstring
issue.updatedAtstring

Issues Update​

Update an existing issue via GraphQL mutation. All fields except id are optional for partial updates. To assign a user, provide assigneeId with the user's ID (get user IDs from the users list). Omit assigneeId to leave the current assignee unchanged.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "issues",
"action": "update",
"params": {
"id": "<str>",
"title": "<str>",
"description": "<str>",
"stateId": "<str>",
"priority": 0,
"assigneeId": "<str>",
"projectId": "<str>"
}
}'

Python SDK​

await linear.issues.update(
id="<str>",
title="<str>",
description="<str>",
state_id="<str>",
priority=0,
assignee_id="<str>",
project_id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "update",
"params": {
"id": "<str>",
"title": "<str>",
"description": "<str>",
"stateId": "<str>",
"priority": 0,
"assigneeId": "<str>",
"projectId": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
idstringYesThe ID of the issue to update
titlestringNoThe new title of the issue
descriptionstringNoThe new description of the issue (supports markdown)
stateIdstringNoThe ID of the new workflow state for the issue
priorityintegerNoThe new priority of the issue (0=No priority, 1=Urgent, 2=High, 3=Medium, 4=Low)
assigneeIdstringNoThe ID of the user to assign to this issue. Get user IDs from the users list.
projectIdstringNoThe ID of the project to add this issue to. Get project IDs from the projects list.
Response Schema

Records​

Field NameTypeDescription
successboolean
issueobject
issue.idstring
issue.titlestring
issue.descriptionstring | any
issue.stateobject | any
issue.prioritynumber | any
issue.assigneeobject | any
issue.projectobject | any
issue.createdAtstring
issue.updatedAtstring

Search and filter issues records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "issues",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"addedToCycleAt": "<str>"
}
}
}
}
}'

Python SDK​

await linear.issues.context_store_search(
query={"filter": {"eq": {"addedToCycleAt": "<str>"}}}
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"addedToCycleAt": "<str>"}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields​

Field NameTypeDescription
addedToCycleAtstring
addedToProjectAtstring
addedToTeamAtstring
assigneeobject
assigneeIdstring
attachmentIdsarray
attachmentsobject
branchNamestring
canceledAtstring
completedAtstring
createdAtstring
creatorobject
creatorIdstring
customerTicketCountnumber
cycleobject
cycleIdstring
descriptionstring
descriptionStatestring
dueDatestring
estimatenumber
idstring
identifierstring
integrationSourceTypestring
labelIdsarray
labelsobject
milestoneIdstring
numbernumber
parentobject
parentIdstring
previousIdentifiersarray
prioritynumber
priorityLabelstring
prioritySortOrdernumber
projectobject
projectIdstring
projectMilestoneobject
reactionDataarray
relationIdsarray
relationsobject
slaTypestring
sortOrdernumber
sourceCommentIdstring
startedAtstring
stateobject
stateIdstring
subIssueSortOrdernumber
subscriberIdsarray
subscribersobject
teamobject
teamIdstring
titlestring
updatedAtstring
urlstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].addedToCycleAtstring
data[].addedToProjectAtstring
data[].addedToTeamAtstring
data[].assigneeobject
data[].assigneeIdstring
data[].attachmentIdsarray
data[].attachmentsobject
data[].branchNamestring
data[].canceledAtstring
data[].completedAtstring
data[].createdAtstring
data[].creatorobject
data[].creatorIdstring
data[].customerTicketCountnumber
data[].cycleobject
data[].cycleIdstring
data[].descriptionstring
data[].descriptionStatestring
data[].dueDatestring
data[].estimatenumber
data[].idstring
data[].identifierstring
data[].integrationSourceTypestring
data[].labelIdsarray
data[].labelsobject
data[].milestoneIdstring
data[].numbernumber
data[].parentobject
data[].parentIdstring
data[].previousIdentifiersarray
data[].prioritynumber
data[].priorityLabelstring
data[].prioritySortOrdernumber
data[].projectobject
data[].projectIdstring
data[].projectMilestoneobject
data[].reactionDataarray
data[].relationIdsarray
data[].relationsobject
data[].slaTypestring
data[].sortOrdernumber
data[].sourceCommentIdstring
data[].startedAtstring
data[].stateobject
data[].stateIdstring
data[].subIssueSortOrdernumber
data[].subscriberIdsarray
data[].subscribersobject
data[].teamobject
data[].teamIdstring
data[].titlestring
data[].updatedAtstring
data[].urlstring

Issues Context Store SQL Query​

Run a SQL query against issues records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "issues",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await linear.issues.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search issues records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "issues",
"action": "context_store_search",
"params": {
"semantic": {"field": "description", "prompt": "<your natural-language query>"}
}
}'

Python SDK​

Semantic search is passed through the generic execute method — the typed issues.context_store_search helper only accepts query.

await linear.execute(
"issues",
"context_store_search",
{"semantic": {"field": "description", "prompt": "<your natural-language query>"}},
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "context_store_search",
"params": {
"semantic": {"field": "description", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters​

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields​

Field NameMax Context (chars)Description
description2048

Each result is also enriched with the following related fields (returned only; not filterable): creatorName, assigneeName.

Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.urlstringSource record field
data[].entity.identifierstringSource record field
data[].entity.titlestringSource record field
data[].entity.creatorIdstringSource record field
data[].entity.assigneeIdstringSource record field
data[].entity.createdAtstringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
data[].metadata.creatorNamestringEnriched from a related entity at read time (returned only; not filterable)
data[].metadata.assigneeNamestringEnriched from a related entity at read time (returned only; not filterable)
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Projects​

Projects List​

Returns a paginated list of projects via GraphQL with pagination support

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "projects",
"action": "list"
}'

Python SDK​

await linear.projects.list()

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "list"
}'

Parameters​

Parameter NameTypeRequiredDescription
firstintegerNoNumber of items to return (max 250)
afterstringNoCursor to start after (for pagination)
Response Schema

Records​

Field NameTypeDescription
idstring
namestring
descriptionstring | any
statestring | any
startDatestring | any
targetDatestring | any
leadobject | any
createdAtstring
updatedAtstring

Meta​

Field NameTypeDescription
hasNextPageboolean
endCursorstring | null

Projects Get​

Get a single project by ID via GraphQL

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "projects",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK​

await linear.projects.get(
id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
idstringYesProject ID
Response Schema

Records​

Field NameTypeDescription
idstring
namestring
descriptionstring | any
statestring | any
startDatestring | any
targetDatestring | any
leadobject | any
createdAtstring
updatedAtstring

Projects Create​

Create a new project via GraphQL mutation

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "projects",
"action": "create",
"params": {
"name": "<str>",
"teamIds": [],
"description": "<str>",
"state": "<str>",
"startDate": "<str>",
"targetDate": "<str>",
"leadId": "<str>"
}
}'

Python SDK​

await linear.projects.create(
name="<str>",
team_ids=[],
description="<str>",
state="<str>",
start_date="<str>",
target_date="<str>",
lead_id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "create",
"params": {
"name": "<str>",
"teamIds": [],
"description": "<str>",
"state": "<str>",
"startDate": "<str>",
"targetDate": "<str>",
"leadId": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
namestringYesThe name of the project
teamIdsarray<string>YesThe IDs of the teams to associate with this project. Get team IDs from the teams list.
descriptionstringNoThe description of the project (supports markdown)
statestringNoThe state of the project (backlog, planned, started, paused, completed, canceled)
startDatestringNoThe planned start date of the project (YYYY-MM-DD format)
targetDatestringNoThe target completion date of the project (YYYY-MM-DD format)
leadIdstringNoThe ID of the user to set as project lead. Get user IDs from the users list.
Response Schema

Records​

Field NameTypeDescription
successboolean
projectobject
project.idstring
project.namestring
project.descriptionstring | any
project.statestring | any
project.startDatestring | any
project.targetDatestring | any
project.leadobject | any
project.createdAtstring
project.updatedAtstring

Projects Update​

Update an existing project via GraphQL mutation. All fields except id are optional for partial updates. Use this to rename projects, change descriptions, update dates, or change the project state.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "projects",
"action": "update",
"params": {
"id": "<str>",
"name": "<str>",
"description": "<str>",
"state": "<str>",
"startDate": "<str>",
"targetDate": "<str>",
"leadId": "<str>"
}
}'

Python SDK​

await linear.projects.update(
id="<str>",
name="<str>",
description="<str>",
state="<str>",
start_date="<str>",
target_date="<str>",
lead_id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "update",
"params": {
"id": "<str>",
"name": "<str>",
"description": "<str>",
"state": "<str>",
"startDate": "<str>",
"targetDate": "<str>",
"leadId": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
idstringYesThe ID of the project to update
namestringNoThe new name of the project
descriptionstringNoThe new description of the project (supports markdown)
statestringNoThe new state of the project (backlog, planned, started, paused, completed, canceled)
startDatestringNoThe new planned start date of the project (YYYY-MM-DD format)
targetDatestringNoThe new target completion date of the project (YYYY-MM-DD format)
leadIdstringNoThe ID of the user to set as project lead. Get user IDs from the users list.
Response Schema

Records​

Field NameTypeDescription
successboolean
projectobject
project.idstring
project.namestring
project.descriptionstring | any
project.statestring | any
project.startDatestring | any
project.targetDatestring | any
project.leadobject | any
project.createdAtstring
project.updatedAtstring

Search and filter projects records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "projects",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"canceledAt": "<str>"
}
}
}
}
}'

Python SDK​

await linear.projects.context_store_search(
query={"filter": {"eq": {"canceledAt": "<str>"}}}
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"canceledAt": "<str>"}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields​

Field NameTypeDescription
canceledAtstring
colorstring
completedAtstring
completedIssueCountHistoryarray
completedScopeHistoryarray
contentstring
contentStatestring
convertedFromIssueobject
convertedFromIssueIdstring
createdAtstring
creatorobject
creatorIdstring
descriptionstring
healthstring
healthUpdatedAtstring
iconstring
idstring
inProgressScopeHistoryarray
issueCountHistoryarray
leadobject
leadIdstring
namestring
prioritynumber
prioritySortOrdernumber
progressnumber
scopenumber
scopeHistoryarray
slugIdstring
sortOrdernumber
startDatestring
startedAtstring
statusobject
statusIdstring
targetDatestring
teamIdsarray
teamsobject
updateRemindersDaystring
updateRemindersHournumber
updatedAtstring
urlstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].canceledAtstring
data[].colorstring
data[].completedAtstring
data[].completedIssueCountHistoryarray
data[].completedScopeHistoryarray
data[].contentstring
data[].contentStatestring
data[].convertedFromIssueobject
data[].convertedFromIssueIdstring
data[].createdAtstring
data[].creatorobject
data[].creatorIdstring
data[].descriptionstring
data[].healthstring
data[].healthUpdatedAtstring
data[].iconstring
data[].idstring
data[].inProgressScopeHistoryarray
data[].issueCountHistoryarray
data[].leadobject
data[].leadIdstring
data[].namestring
data[].prioritynumber
data[].prioritySortOrdernumber
data[].progressnumber
data[].scopenumber
data[].scopeHistoryarray
data[].slugIdstring
data[].sortOrdernumber
data[].startDatestring
data[].startedAtstring
data[].statusobject
data[].statusIdstring
data[].targetDatestring
data[].teamIdsarray
data[].teamsobject
data[].updateRemindersDaystring
data[].updateRemindersHournumber
data[].updatedAtstring
data[].urlstring

Projects Context Store SQL Query​

Run a SQL query against projects records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "projects",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await linear.projects.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Teams​

Teams List​

Returns a list of teams via GraphQL with pagination support

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "teams",
"action": "list"
}'

Python SDK​

await linear.teams.list()

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "list"
}'

Parameters​

Parameter NameTypeRequiredDescription
firstintegerNoNumber of items to return (max 250)
afterstringNoCursor to start after (for pagination)
Response Schema

Records​

Field NameTypeDescription
idstring
namestring
keystring
descriptionstring | any
timezonestring | any
createdAtstring
updatedAtstring

Meta​

Field NameTypeDescription
hasNextPageboolean
endCursorstring | null

Teams Get​

Get a single team by ID via GraphQL

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "teams",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK​

await linear.teams.get(
id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
idstringYesTeam ID
Response Schema

Records​

Field NameTypeDescription
idstring
namestring
keystring
descriptionstring | any
timezonestring | any
createdAtstring
updatedAtstring

Search and filter teams records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "teams",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"activeCycle": {}
}
}
}
}
}'

Python SDK​

await linear.teams.context_store_search(
query={"filter": {"eq": {"activeCycle": {}}}}
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"activeCycle": {}}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields​

Field NameTypeDescription
activeCycleobject
activeCycleIdstring
autoArchivePeriodnumber
autoClosePeriodnumber
autoCloseStateIdstring
colorstring
createdAtstring
cycleCalenderUrlstring
cycleCooldownTimenumber
cycleDurationnumber
cycleIssueAutoAssignCompletedboolean
cycleIssueAutoAssignStartedboolean
cycleLockToActiveboolean
cycleStartDaynumber
cyclesEnabledboolean
defaultIssueEstimatenumber
defaultIssueStateobject
defaultIssueStateIdstring
groupIssueHistoryboolean
iconstring
idstring
issueCountnumber
issueEstimationAllowZeroboolean
issueEstimationExtendedboolean
issueEstimationTypestring
keystring
namestring
parentTeamIdstring
requirePriorityToLeaveTriageboolean
scimManagedboolean
setIssueSortOrderOnStateChangestring
timezonestring
triageEnabledboolean
triageIssueStateIdstring
upcomingCycleCountnumber
updatedAtstring
visibilitystring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].activeCycleobject
data[].activeCycleIdstring
data[].autoArchivePeriodnumber
data[].autoClosePeriodnumber
data[].autoCloseStateIdstring
data[].colorstring
data[].createdAtstring
data[].cycleCalenderUrlstring
data[].cycleCooldownTimenumber
data[].cycleDurationnumber
data[].cycleIssueAutoAssignCompletedboolean
data[].cycleIssueAutoAssignStartedboolean
data[].cycleLockToActiveboolean
data[].cycleStartDaynumber
data[].cyclesEnabledboolean
data[].defaultIssueEstimatenumber
data[].defaultIssueStateobject
data[].defaultIssueStateIdstring
data[].groupIssueHistoryboolean
data[].iconstring
data[].idstring
data[].issueCountnumber
data[].issueEstimationAllowZeroboolean
data[].issueEstimationExtendedboolean
data[].issueEstimationTypestring
data[].keystring
data[].namestring
data[].parentTeamIdstring
data[].requirePriorityToLeaveTriageboolean
data[].scimManagedboolean
data[].setIssueSortOrderOnStateChangestring
data[].timezonestring
data[].triageEnabledboolean
data[].triageIssueStateIdstring
data[].upcomingCycleCountnumber
data[].updatedAtstring
data[].visibilitystring

Teams Context Store SQL Query​

Run a SQL query against teams records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "teams",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await linear.teams.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Workflow States​

Workflow States List​

Returns workflow states for a team via GraphQL, including name and UUID for status transitions

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "workflow_states",
"action": "list"
}'

Python SDK​

await linear.workflow_states.list()

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "workflow_states",
"action": "list"
}'

Parameters​

Parameter NameTypeRequiredDescription
firstintegerNoNumber of items to return (max 250)
afterstringNoCursor to start after (for pagination)
Response Schema

Records​

Field NameTypeDescription
idstring
namestring
typestring
positionnumber | any
colorstring | any
teamobject | any
createdAtstring
updatedAtstring

Meta​

Field NameTypeDescription
hasNextPageboolean
endCursorstring | null

Search and filter workflow states records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "workflow_states",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"color": "<str>"
}
}
}
}
}'

Python SDK​

await linear.workflow_states.context_store_search(
query={"filter": {"eq": {"color": "<str>"}}}
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "workflow_states",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"color": "<str>"}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields​

Field NameTypeDescription
colorstring
createdAtstring
descriptionstring
idstring
inheritedFromIdstring
namestring
positionnumber
teamobject
teamIdstring
typestring
updatedAtstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].colorstring
data[].createdAtstring
data[].descriptionstring
data[].idstring
data[].inheritedFromIdstring
data[].namestring
data[].positionnumber
data[].teamobject
data[].teamIdstring
data[].typestring
data[].updatedAtstring

Workflow States Context Store SQL Query​

Run a SQL query against workflow states records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "workflow_states",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await linear.workflow_states.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "workflow_states",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Users​

Users List​

Returns a paginated list of users in the organization via GraphQL

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "users",
"action": "list"
}'

Python SDK​

await linear.users.list()

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "list"
}'

Parameters​

Parameter NameTypeRequiredDescription
firstintegerNoNumber of items to return (max 250)
afterstringNoCursor to start after (for pagination)
Response Schema

Records​

Field NameTypeDescription
idstring
namestring
emailstring
displayNamestring | any
activeboolean
adminboolean
createdAtstring
updatedAtstring

Meta​

Field NameTypeDescription
hasNextPageboolean
endCursorstring | null

Users Get​

Get a single user by ID via GraphQL

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "users",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK​

await linear.users.get(
id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
idstringYesUser ID
Response Schema

Records​

Field NameTypeDescription
idstring
namestring
emailstring
displayNamestring | any
activeboolean
adminboolean
createdAtstring
updatedAtstring

Search and filter users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "users",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"active": true
}
}
}
}
}'

Python SDK​

await linear.users.context_store_search(
query={"filter": {"eq": {"active": True}}}
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"active": True}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields​

Field NameTypeDescription
activeboolean
adminboolean
avatarBackgroundColorstring
avatarUrlstring
createdAtstring
createdIssueCountnumber
displayNamestring
emailstring
guestboolean
idstring
initialsstring
isMeboolean
lastSeenstring
namestring
teamIdsarray
teamsobject
timezonestring
updatedAtstring
urlstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].activeboolean
data[].adminboolean
data[].avatarBackgroundColorstring
data[].avatarUrlstring
data[].createdAtstring
data[].createdIssueCountnumber
data[].displayNamestring
data[].emailstring
data[].guestboolean
data[].idstring
data[].initialsstring
data[].isMeboolean
data[].lastSeenstring
data[].namestring
data[].teamIdsarray
data[].teamsobject
data[].timezonestring
data[].updatedAtstring
data[].urlstring

Users Context Store SQL Query​

Run a SQL query against users records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "users",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await linear.users.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Comments​

Comments List​

Returns a paginated list of comments for an issue via GraphQL

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "comments",
"action": "list",
"params": {
"issueId": "<str>"
}
}'

Python SDK​

await linear.comments.list(
issue_id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "list",
"params": {
"issueId": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
issueIdstringYesIssue ID to get comments for
firstintegerNoNumber of items to return (max 250)
afterstringNoCursor to start after (for pagination)
Response Schema

Records​

Field NameTypeDescription
idstring
bodystring
userobject | any
issueobject | any
createdAtstring
updatedAtstring

Meta​

Field NameTypeDescription
hasNextPageboolean
endCursorstring | null

Comments Get​

Get a single comment by ID via GraphQL

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "comments",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK​

await linear.comments.get(
id="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
idstringYesComment ID
Response Schema

Records​

Field NameTypeDescription
idstring
bodystring
userobject | any
issueobject | any
createdAtstring
updatedAtstring

Comments Create​

Create a new comment on an issue via GraphQL mutation

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "comments",
"action": "create",
"params": {
"issueId": "<str>",
"body": "<str>"
}
}'

Python SDK​

await linear.comments.create(
issue_id="<str>",
body="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "create",
"params": {
"issueId": "<str>",
"body": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
issueIdstringYesThe ID of the issue to add the comment to
bodystringYesThe comment content in markdown
Response Schema

Records​

Field NameTypeDescription
successboolean
commentobject
comment.idstring
comment.bodystring
comment.userobject | any
comment.issueobject | any
comment.createdAtstring
comment.updatedAtstring

Comments Update​

Update an existing comment via GraphQL mutation

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "comments",
"action": "update",
"params": {
"id": "<str>",
"body": "<str>"
}
}'

Python SDK​

await linear.comments.update(
id="<str>",
body="<str>"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "update",
"params": {
"id": "<str>",
"body": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
idstringYesThe ID of the comment to update
bodystringYesThe new comment content in markdown
Response Schema

Records​

Field NameTypeDescription
successboolean
commentobject
comment.idstring
comment.bodystring
comment.userobject | any
comment.issueobject | any
comment.createdAtstring
comment.updatedAtstring

Search and filter comments records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "comments",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"body": "<str>"
}
}
}
}
}'

Python SDK​

await linear.comments.context_store_search(
query={"filter": {"eq": {"body": "<str>"}}}
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"body": "<str>"}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields​

Field NameTypeDescription
bodystring
bodyDatastring
createdAtstring
editedAtstring
idstring
issueobject
issueIdstring
parentobject
parentCommentIdstring
resolvingCommentIdstring
resolvingUserIdstring
updatedAtstring
urlstring
userobject
userIdstring
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].bodystring
data[].bodyDatastring
data[].createdAtstring
data[].editedAtstring
data[].idstring
data[].issueobject
data[].issueIdstring
data[].parentobject
data[].parentCommentIdstring
data[].resolvingCommentIdstring
data[].resolvingUserIdstring
data[].updatedAtstring
data[].urlstring
data[].userobject
data[].userIdstring

Comments Context Store SQL Query​

Run a SQL query against comments records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "comments",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await linear.comments.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search comments records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "linear",
"entity": "comments",
"action": "context_store_search",
"params": {
"semantic": {"field": "body", "prompt": "<your natural-language query>"}
}
}'

Python SDK​

Semantic search is passed through the generic execute method — the typed comments.context_store_search helper only accepts query.

await linear.execute(
"comments",
"context_store_search",
{"semantic": {"field": "body", "prompt": "<your natural-language query>"}},
)

API​

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "context_store_search",
"params": {
"semantic": {"field": "body", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters​

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields​

Field NameMax Context (chars)Description
body2048

Each result is also enriched with the following related fields (returned only; not filterable): authorName.

Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.urlstringSource record field
data[].entity.issueIdstringSource record field
data[].entity.userIdstringSource record field
data[].entity.createdAtstringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
data[].metadata.authorNamestringEnriched from a related entity at read time (returned only; not filterable)
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds