---
title: "Get a Resource"
url: "https://us-prod.jeffyongtaotang.com/apis/konnect-service-catalog-1/versions/cdbef9b7-686c-4189-bbc8-55c727a972e8/operations/fetch-resource"
---

> Full API specification: https://us-prod.jeffyongtaotang.com/apis/konnect-service-catalog-1/versions/cdbef9b7-686c-4189-bbc8-55c727a972e8.md

# Get a Resource

`GET` `/resources/{id}`

Operation ID: `fetch-resource`

Fetches a resource by ID.

## Path parameters

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

## Responses

- `200` - A response containing a single resource object.
- `401` - Unauthorized
- `403` - Forbidden
- `404` - Not Found

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: Konnect Service Catalog
  version: 1.3.0
servers:
  - url: https://us.api.konghq.com/v1
    description: United-States Production region
  - url: https://eu.api.konghq.com/v1
    description: Europe Production region
  - url: https://au.api.konghq.com/v1
    description: Australia Production region
  - url: https://me.api.konghq.com/v1
    description: Middle-East Production region
  - url: https://in.api.konghq.com/v1
    description: India Production region
  - url: https://sg.api.konghq.com/v1
    description: Singapore Production region
paths:
  /resources/{id}:
    parameters:
      - schema:
          type: string
          example: AflTNLY0tTQhv2my
        name: id
        in: path
        required: true
        description: The `id` of the resource.
    get:
      summary: Get a Resource
      description: Fetches a resource by ID.
      operationId: fetch-resource
      responses:
        "200":
          $ref: "#/components/responses/CatalogResourceResponse"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
      tags:
        - Catalog Resources
security:
  - konnectAccessToken: []
  - personalAccessToken: []
  - systemAccountAccessToken: []
components:
  responses:
    CatalogResourceResponse:
      description: A response containing a single resource object.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CatalogResource"
          examples:
            Resource:
              $ref: "#/components/examples/ResourceFetchGwsResponse"
            Initialized Resource:
              $ref: "#/components/examples/ResourceInitializeResponse"
    Unauthorized:
      description: Unauthorized
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/UnauthorizedError"
          examples:
            UnauthorizedExample:
              $ref: "#/components/examples/UnauthorizedExample"
    Forbidden:
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/ForbiddenError"
          examples:
            UnauthorizedExample:
              $ref: "#/components/examples/ForbiddenExample"
    NotFound:
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/NotFoundError"
          examples:
            NotFoundExample:
              $ref: "#/components/examples/NotFoundExample"
  schemas:
    CatalogResource:
      description: Information about a catalog resource.
      type: object
      required:
        - id
        - name
        - integration
        - type
        - config
        - integration_data
        - 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"
        integration_data:
          type: object
          nullable: true
          description: >
            JSON object containing schemaless integration data 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
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
    UnauthorizedError:
      allOf:
        - $ref: "#/components/schemas/BaseError"
        - type: object
          properties:
            status:
              example: 401
            title:
              example: Unauthorized
            type:
              example: https://httpstatuses.com/401
            instance:
              example: kong:trace:1234567890
            detail:
              example: Invalid credentials
    ForbiddenError:
      allOf:
        - $ref: "#/components/schemas/BaseError"
        - type: object
          properties:
            status:
              example: 403
            title:
              example: Forbidden
            type:
              example: https://httpstatuses.com/403
            instance:
              example: kong:trace:1234567890
            detail:
              example: Forbidden
    NotFoundError:
      allOf:
        - $ref: "#/components/schemas/BaseError"
        - type: object
          properties:
            status:
              example: 404
            title:
              example: Not Found
            type:
              example: https://httpstatuses.com/404
            instance:
              example: kong:trace:1234567890
            detail:
              example: Not found
    CatalogResourceId:
      type: string
      format: base64url
      example: 4UdXnoaDYYJsH_Ir
      description: The resource ID.
      minLength: 16
      maxLength: 16
    IntegrationRef:
      type: object
      description: Short-hand descriptor of an integration installed within the catalog.
      required:
        - name
        - display_name
        - instance
      properties:
        name:
          type: string
          example: gateway-manager
        display_name:
          type: string
          example: gateway-manager
        instance:
          $ref: "#/components/schemas/IntegrationInstanceRef"
    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:
      x-speakeasy-type-override: any
      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
    CreatedAt:
      type: string
      format: date-time
      example: 2022-11-04T20:10:06.927Z
      description: An ISO-8601 timestamp representation of entity creation date.
      readOnly: true
      x-speakeasy-param-suppress-computed-diff: true
    UpdatedAt:
      type: string
      format: date-time
      example: 2022-11-04T20:10:06.927Z
      description: An ISO-8601 timestamp representation of entity update date.
      readOnly: true
      x-speakeasy-param-suppress-computed-diff: true
    BaseError:
      type: object
      title: Error
      description: standard error
      required:
        - status
        - title
        - instance
        - detail
      properties:
        status:
          type: integer
          description: >
            The HTTP status code of the error. Useful when passing the response

            body to child properties in a frontend UI. Must be returned as an
            integer.
          readOnly: true
        title:
          type: string
          description: |
            A short, human-readable summary of the problem. It should not
            change between occurences of a problem, except for localization.
            Should be provided as "Sentence case" for direct use in the UI.
          readOnly: true
        type:
          type: string
          description: The error type.
          readOnly: true
        instance:
          type: string
          description: |
            Used to return the correlation ID back to the user, in the format
            kong:trace:<correlation_id>. This helps us find the relevant logs
            when a customer reports an issue.
          readOnly: true
        detail:
          type: string
          description: >
            A human readable explanation specific to this occurence of the
            problem.

            This field may contain request/entity data to help the user
            understand

            what went wrong. Enclose variable values in square brackets. Should
            be

            provided as "Sentence case" for direct use in the UI.
          readOnly: true
    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)
  examples:
    ResourceFetchGwsResponse:
      value:
        id: rQIGLHo1vhgy5VYb
        name: my-gateway-service
        integration:
          name: gateway-manager
          display_name: Gateway Manager
          instance:
            id: da715411-0393-4dc7-b711-33250e7658f3
            name: gateway-manager
            display_name: Gateway Manager
        type: gateway_svc
        config:
          control_plane_id: 028bcd27-e0f7-46bd-ad9f-e7a6dd7d5a8e
          gateway_service_id: dbba7bb2-eded-4668-b662-b8bb57684baf
        integration_data:
          control_plane:
            id: 028bcd27-e0f7-46bd-ad9f-e7a6dd7d5a8e
            name: serverless-default
            config:
              auth_type: pinned_client_certs
              proxy_urls: []
              cluster_type: CLUSTER_TYPE_SERVERLESS
              cloud_gateway: false
              telemetry_endpoint: https://26e2775daa.us.tp0.my-company.com
              control_plane_endpoint: https://26e2775daa.us.cp0.my-company.com
            labels: {}
            created_at: 2022-11-04T20:10:06.927Z
            updated_at: 2022-11-04T20:10:06.927Z
            description: This is your serverless gateway control plane. It is the easiest
              way to get started with the Konnect Gateway.
          gateway_service:
            id: dbba7bb2-eded-4668-b662-b8bb57684baf
            url: ""
            host: cloud.my-company.com
            name: my-gateway-service
            path: /us/gateway-manager/028bcd27-e0f7-46bd-ad9f-e7a6dd7d5a8e/gateway-services/create
            port: 443
            tags: []
            enabled: true
            retries: 5
            protocol: https
            created_at: 1751465789148
            tls_verify: null
            updated_at: null
            read_timeout: 60000
            write_timeout: 60000
            connect_timeout: 60000
            tls_verify_depth: null
        archived: false
        service_associations: 0
        created_at: 2022-11-04T20:10:06.927Z
        updated_at: 2022-11-04T20:10:06.927Z
    ResourceInitializeResponse:
      value:
        id: 1Kff05PZlexINWmG
        name: null
        integration:
          name: gateway-manager
          display_name: Gateway Manager
          instance:
            id: da715411-0393-4dc7-b711-33250e7658f3
            name: gateway-manager
            display_name: Gateway Manager
        type: gateway_svc
        config:
          control_plane_id: ea270fcd-afb4-4209-a3d0-d4151364816d
          gateway_service_id: f84b2edb-aef7-4486-af7d-8829a428e94c
        integration_data: null
        archived: false
        service_associations: 0
        created_at: 2022-11-04T20:10:06.927Z
        updated_at: 2022-11-04T20:10:06.927Z
    UnauthorizedExample:
      value:
        status: 401
        title: Unauthorized
        instance: kong:trace:8347343766220159418
        detail: Unauthorized
    ForbiddenExample:
      value:
        status: 403
        title: Forbidden
        instance: kong:trace:2723154947768991354
        detail: You do not have permission to perform this action
    NotFoundExample:
      value:
        status: 404
        title: Not Found
        instance: kong:trace:6816496025408232265
        detail: Not Found
  securitySchemes:
    konnectAccessToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        The Konnect access token is meant to be used by the Konnect dashboard
        and the decK CLI authenticate with.
    personalAccessToken:
      type: http
      scheme: bearer
      bearerFormat: Token
      description: >
        The personal access token is meant to be used as an alternative to
        basic-auth when accessing Konnect via APIs.

        You can generate a Personal Access Token (PAT) from the [personal access
        token page](https://cloud.konghq.com/global/account/tokens/) in the
        Konnect dashboard.

        The PAT token must be passed in the header of a request, for example:

        `curl -X GET 'https://global.api.konghq.com/v2/users/' --header
        'Authorization: Bearer kpat_xgfT...'`
    systemAccountAccessToken:
      type: http
      scheme: bearer
      bearerFormat: Token
      description: >
        The system account access token is meant for automations and
        integrations that are not directly associated with a human identity.

        You can generate a system account Access Token by creating a system
        account and then obtaining a system account access token for that
        account.

        The access token must be passed in the header of a request, for example:

        `curl -X GET 'https://global.api.konghq.com/v2/users/' --header
        'Authorization: Bearer spat_i2Ej...'`
```
