---
title: "Initialize Resource"
url: "https://dev-portal.dehaven.org/apis/konnect-service-catalog-1-2-0/versions/5f6559bf-d7ba-429c-95c4-cbf2371e663f/operations/initialize-resource"
---

> Full API specification: https://dev-portal.dehaven.org/apis/konnect-service-catalog-1-2-0/versions/5f6559bf-d7ba-429c-95c4-cbf2371e663f.md

# Initialize Resource

`POST` `/integration-instances/{id}/resources`

Operation ID: `initialize-resource`

Initializes a placeholder resource. This operation is typically used in GitOps workflows or other infrastructure-as-code setups where a resource is declared before it is fully discovered. The initialized resource acts as a stub — it contains minimal identifying metadata and does not yet include the full set of attributes typically populated by integration-based discovery. After initialization, the resource will be automatically hydrated with additional data by catalog integrations responsible for discovering and maintaining its up-to-date state. This API is not intended for direct resource management, but rather for signaling the intent to track a given resource, allowing integrations to take over and populate it asynchronously.

## Path parameters

- `id` (string, required) - The `id` of the integration instance.

## Request body (required)

Content types: `application/json`

## Responses

- `201` - A response containing a single resource object.

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: Konnect Service Catalog
  version: 1.2.0
servers:
  - url: https://us.api.konghq.com/v1
    description: US Region Base URL
  - url: https://eu.api.konghq.com/v1
    description: EU Region Base URL
  - url: https://au.api.konghq.com/v1
    description: AU Region Base URL
  - url: https://me.api.konghq.com/v1
    description: ME Region Base URL
  - url: https://in.api.konghq.com/v1
    description: IN Region Base URL
paths:
  /integration-instances/{id}/resources:
    parameters:
      - schema:
          type: string
          example: 3f51fa25-310a-421d-bd1a-007f859021a3
        name: id
        in: path
        required: true
        description: The `id` of the integration instance.
    post:
      x-speakeasy-entity-operation: Resource#initialize
      x-unstable: true
      x-internal: true
      summary: Initialize Resource
      description: >
        Initializes a placeholder resource. This operation is typically used in
        GitOps workflows or other infrastructure-as-code setups where a resource
        is declared before it is fully discovered.

        The initialized resource acts as a stub — it contains minimal
        identifying metadata and does not yet include the full set of attributes
        typically populated by integration-based discovery.

        After initialization, the resource will be automatically hydrated with
        additional data by catalog integrations responsible for discovering and
        maintaining its up-to-date state.

        This API is not intended for direct resource management, but rather for
        signaling the intent to track a given resource, allowing integrations to
        take over and populate it asynchronously.
      operationId: initialize-resource
      requestBody:
        $ref: "#/components/requestBodies/InitializeCatalogResourceRequest"
      responses:
        "201":
          $ref: "#/components/responses/CatalogResourceResponse"
      tags:
        - Resources
security:
  - konnectAccessToken: []
  - personalAccessToken: []
  - systemAccountAccessToken: []
components:
  requestBodies:
    InitializeCatalogResourceRequest:
      required: true
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/InitializeCatalogResource"
  responses:
    CatalogResourceResponse:
      description: A response containing a single resource object.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CatalogResource"
  schemas:
    InitializeCatalogResource:
      type: object
      additionalProperties: false
      required:
        - type
        - config
      properties:
        type:
          $ref: "#/components/schemas/CatalogResourceType"
        config:
          $ref: "#/components/schemas/CatalogResourceConfig"
    CatalogResource:
      description: Information about a catalog resource.
      type: object
      required:
        - id
        - name
        - integration
        - type
        - config
        - attributes
        - archived
        - service_associations
        - created_at
        - updated_at
      properties:
        id:
          $ref: "#/components/schemas/CatalogResourceId"
        name:
          type: string
          description: >
            The name of the resource.

            Will be `null` when the resource has not yet been hydrated by the
            integration.
          nullable: true
          minLength: 1
          maxLength: 255
        integration:
          $ref: "#/components/schemas/IntegrationRef"
        type:
          $ref: "#/components/schemas/CatalogResourceType"
        config:
          $ref: "#/components/schemas/CatalogResourceConfig"
        attributes:
          readOnly: true
          type: object
          nullable: true
          description: >
            JSON object containing schemaless attributes of the resource.

            This field is always populated by the system backing the
            integration.

            When `null`, the resource has been manually initialized via API but
            has

            yet to be hydrated by the integration.
          additionalProperties: true
        archived:
          type: boolean
          description: Whether or not the resource has been archived.
          example: false
        service_associations:
          readOnly: true
          type: number
          description: The number of catalog services this resource is mapped to.
          minimum: 0
          example: 2
    CatalogResourceType:
      type: string
      description: >
        The resource type. Available resource types are compiled from the
        integrations installed within the catalog.
      minLength: 1
      maxLength: 120
      example: gateway_svc
    CatalogResourceConfig:
      type: object
      description: >
        JSON object representing the properties used to identify the resource in
        the third-party system.

        The schema depends on the resource type and is dynamically registered at
        runtime.
      additionalProperties: true
      example:
        control_plane_id: ccadfb0a-56cd-4f74-955d-aec1d87157c8
        gateway_service_id: 94896d05-0c4d-45eb-aae3-de754885dd58
    CatalogResourceId:
      type: string
      format: base64url
      example: 4UdXnoaDYYJsH_Ir
      description: The resource ID.
      minLength: 16
      maxLength: 16
    IntegrationRef:
      x-flatten-allOf: true
      title: IntegrationRef
      allOf:
        - $ref: "#/components/schemas/IntegrationRefWithoutInstance"
        - type: object
          description: Short-hand descriptor of an integration installed within the catalog.
          required:
            - instance
          properties:
            instance:
              $ref: "#/components/schemas/IntegrationInstanceRef"
    IntegrationRefWithoutInstance:
      type: object
      description: Short-hand descriptor of an integration that omits instance metadata.
      required:
        - name
        - display_name
      properties:
        name:
          type: string
          example: gateway-manager
        display_name:
          type: string
          example: gateway-manager
    IntegrationInstanceRef:
      type: object
      description: Short-hand descriptor of an integration instance.
      required:
        - id
        - name
        - display_name
      properties:
        id:
          type: string
          format: uuid
          example: 772b9caf-ddbc-4f4f-8aa4-8dfbbe420351
          description: The integration instance ID.
        name:
          type: string
          description: >
            The machine name of the integration instance that uniquely
            identifies it within the catalog.
          pattern: ^[0-9a-z.-]+$
          example: aws-lambda-prod
        display_name:
          type: string
          description: The display name of the integration instance.
          example: AWS (prod)
```
