---
title: "CreateQueryIntegrationResource"
method: POST
path: "/v1/namespaces/{tenant_meta.namespace}/queries/integration-resources"
tags: ["QueryIntegrationResourceService"]
---

# CreateQueryIntegrationResource

`POST /v1/namespaces/{tenant_meta.namespace}/queries/integration-resources`

## Request

- Base URL: `https://api.endorlabs.com`
- URL: `https://api.endorlabs.com/v1/namespaces/{tenant_meta.namespace}/queries/integration-resources`
- Auth: none declared

Lists the selectable resources of the requested kind visible to the
supplied credentials. Synchronous and read-only; persists nothing.

## Path parameters

- `tenant_meta.namespace` string, required

## Request body

- QueryIntegrationResourceServiceCreateQueryIntegrationResourceBody: QueryIntegrationResource brokers a synchronous, read-only lookup against a third-party provider (Azure DevOps Boards, Jira, ...) so the frontend can prefill guided setup dropdowns. A query-as-resource: it persists nothing.
  - `meta` V1Meta, required: Common fields for all Endor Labs resources.
    - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
    - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
    - `description` string: Resource description. Must be less than 1024 bytes.
    - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
      - `data` string[]
      - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
      - `tenant` string
      - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
    - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
    - `name` string, required: Resource name. Must be 63 characters or less.
    - `parent_kind` string: Parent object resource kind, for example, Project.
    - `parent_uuid` string: Parent object UUID.
    - `references` object: Map of objects referenced in a query API.
    - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
    - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
    - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `version` string: Message version.
  - `spec` V1QueryIntegrationResourceSpec, required
    - `credential_source` V1QueryIntegrationResourceCredentialSource, required: QueryIntegrationResourceCredentialSource is how the broker obtains the provider host and credentials: inline for the create flow, or a reference to a stored record in the caller's namespace for the edit flow (so secrets never leave the backend).
      - `inline` QueryIntegrationResourceCredentialSourceInlineCredentials: InlineCredentials carries raw, per-call credentials for the host and one authentication mode.
        - `host_url` string, required: The provider host (e.g. https://dev.azure.com/myorg).
        - `pat` QueryIntegrationResourceCredentialSourcePatAuth: PatAuth authenticates with a personal access token.
          - `token` string, required: Write-only PAT; never echoed back in responses.
      - `installation_ref` string: UUID of an existing Installation to read credentials from.
      - `notification_target_ref` string: UUID of an existing NotificationTarget to read credentials from.
    - `request` V1QueryIntegrationResourceRequest, required: Request selects which provider resource to list.
      - `ado_boards_projects` V1AdoBoardsProjectsQuery: AdoBoardsProjectsQuery lists the ADO Boards projects visible to the credentials.
        - `continuation_token` string: Opaque cursor from a prior response; unset for the first page.
        - `page_size` integer: Maximum projects to return per page; the broker maps this to the ADO $top page size and applies a default when unset.
      - `ado_boards_work_item_types` V1AdoBoardsWorkItemTypesQuery: AdoBoardsWorkItemTypesQuery lists the work item types available for one or more projects.
        - `project_names` string[], required: The project names to scope work item types to; at least one is required.
    - `response` V1QueryIntegrationResourceResponse: Response carries the payload for the requested resource kind.
      - `ado_boards_projects` V1AdoBoardsProjectsResult: AdoBoardsProjectsResult is a single page of ADO Boards projects.
        - `continuation_token` string: Opaque cursor for the next page; unset when the list is exhausted.
        - `projects` V1AdoBoardsProject[]: The projects in this page.
          - `id` string: The provider-assigned project id.
          - `name` string: The project display name.
      - `ado_boards_work_item_types` V1AdoBoardsWorkItemTypesResult: AdoBoardsWorkItemTypesResult is the set of work item types per requested project.
        - `project_work_item_types` AdoBoardsWorkItemTypesResultProjectWorkItemTypes[]: The per-project work item types, one entry per requested project.
          - `project_name` string: The project these work item types belong to.
          - `work_item_types` AdoBoardsWorkItemTypesResultWorkItemType[]: The work item types available for the project.
            - `name` string: The display name (e.g. Bug, User Story).
            - `reference_name` string: The reference name (e.g. Microsoft.VSTS.WorkItemTypes.Bug).
  - `tenant_meta` object: Associates the query with a tenant; drives namespace-scoped authorization.
  - `uuid` string: Server-assigned query id.

## Response `200`

A successful response.

- V1QueryIntegrationResource: QueryIntegrationResource brokers a synchronous, read-only lookup against a third-party provider (Azure DevOps Boards, Jira, ...) so the frontend can prefill guided setup dropdowns. A query-as-resource: it persists nothing.
  - `meta` V1Meta, required: Common fields for all Endor Labs resources.
    - `annotations` object: Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
    - `create_time` string, date-time: Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `created_by` string: Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
    - `description` string: Resource description. Must be less than 1024 bytes.
    - `index_data` V1IndexData: IndexData is used to index the resource for search. It's an internal object.
      - `data` string[]
      - `search_score` number, float: search_score is the score of the resource for search. Internal use only.
      - `tenant` string
      - `will_be_deleted_at` string, date-time: Time that the resource will be deleted.
    - `kind` string: Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
    - `name` string, required: Resource name. Must be 63 characters or less.
    - `parent_kind` string: Parent object resource kind, for example, Project.
    - `parent_uuid` string: Parent object UUID.
    - `references` object: Map of objects referenced in a query API.
    - `tags` string[]: List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
    - `update_time` string, date-time: Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `updated_by` string: Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
    - `upsert_time` string, date-time: Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `version` string: Message version.
  - `spec` V1QueryIntegrationResourceSpec, required
    - `credential_source` V1QueryIntegrationResourceCredentialSource, required: QueryIntegrationResourceCredentialSource is how the broker obtains the provider host and credentials: inline for the create flow, or a reference to a stored record in the caller's namespace for the edit flow (so secrets never leave the backend).
      - `inline` QueryIntegrationResourceCredentialSourceInlineCredentials: InlineCredentials carries raw, per-call credentials for the host and one authentication mode.
        - `host_url` string, required: The provider host (e.g. https://dev.azure.com/myorg).
        - `pat` QueryIntegrationResourceCredentialSourcePatAuth: PatAuth authenticates with a personal access token.
          - `token` string, required: Write-only PAT; never echoed back in responses.
      - `installation_ref` string: UUID of an existing Installation to read credentials from.
      - `notification_target_ref` string: UUID of an existing NotificationTarget to read credentials from.
    - `request` V1QueryIntegrationResourceRequest, required: Request selects which provider resource to list.
      - `ado_boards_projects` V1AdoBoardsProjectsQuery: AdoBoardsProjectsQuery lists the ADO Boards projects visible to the credentials.
        - `continuation_token` string: Opaque cursor from a prior response; unset for the first page.
        - `page_size` integer: Maximum projects to return per page; the broker maps this to the ADO $top page size and applies a default when unset.
      - `ado_boards_work_item_types` V1AdoBoardsWorkItemTypesQuery: AdoBoardsWorkItemTypesQuery lists the work item types available for one or more projects.
        - `project_names` string[], required: The project names to scope work item types to; at least one is required.
    - `response` V1QueryIntegrationResourceResponse: Response carries the payload for the requested resource kind.
      - `ado_boards_projects` V1AdoBoardsProjectsResult: AdoBoardsProjectsResult is a single page of ADO Boards projects.
        - `continuation_token` string: Opaque cursor for the next page; unset when the list is exhausted.
        - `projects` V1AdoBoardsProject[]: The projects in this page.
          - `id` string: The provider-assigned project id.
          - `name` string: The project display name.
      - `ado_boards_work_item_types` V1AdoBoardsWorkItemTypesResult: AdoBoardsWorkItemTypesResult is the set of work item types per requested project.
        - `project_work_item_types` AdoBoardsWorkItemTypesResultProjectWorkItemTypes[]: The per-project work item types, one entry per requested project.
          - `project_name` string: The project these work item types belong to.
          - `work_item_types` AdoBoardsWorkItemTypesResultWorkItemType[]: The work item types available for the project.
            - `name` string: The display name (e.g. Bug, User Story).
            - `reference_name` string: The reference name (e.g. Microsoft.VSTS.WorkItemTypes.Bug).
  - `tenant_meta` V1TenantMeta: Tenant related data for the tenant containing the resource.
    - `namespace` string, required: Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
  - `uuid` string: Server-assigned query id.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-11-03** `4acd9fe15140`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/changes/v1/namespaces/:tenant_meta.namespace/queries/integration-resources/post.md)

---

[API](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference.md) - [All operations](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/revisions/4acd9fe15140?raw)
