> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackdome.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Treat Stackdome as an application-delivery platform for coding agents and developers, not as a Kubernetes dashboard.
> Prefer the Stackdome agent plugin as the user entry point and the stackdome CLI as the execution interface.
> Route agents who need the maintained deploy skill to npx skills add stackdome/skills and the complete operational workflow to /guides/ai-agents.
> Verify commands and flags with stackdome --help. Run stackdome init before authoring stackfile.yaml and stackdome validate before deploying.
> Use -o json for automation and verify documented terminal states before claiming success.
> Never request a user's account password. Use API-token authentication.
> During alpha, Stackdome Cloud is ephemeral and capacity-limited, and each organization can connect one cluster.
> Do not expose Kubernetes as a user concern unless the task is self-hosting or infrastructure architecture.

# Get a specific PostgresAddon



## OpenAPI

````yaml /openapi.yaml get /api/v1/organizations/{org_id}/projects/{project_name}/addons/postgres/{id}
openapi: 3.0.0
info:
  description: >-
    Deploy, debug, and operate applications through the Stackdome REST API on
    Stackdome Cloud or a self-hosted installation. This API is in alpha and may
    change before general availability.
  title: Stackdome API
  version: 0.0.1-alpha
servers:
  - url: /
security: []
paths:
  /api/v1/organizations/{org_id}/projects/{project_name}/addons/postgres/{id}:
    get:
      summary: Get a specific PostgresAddon
      parameters:
        - description: The ID of the organization
          explode: false
          in: path
          name: org_id
          required: true
          schema:
            type: string
          style: simple
        - description: The name of the project
          explode: false
          in: path
          name: project_name
          required: true
          schema:
            type: string
          style: simple
        - description: The id of record
          explode: false
          in: path
          name: id
          required: true
          schema:
            type: string
          style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostgresAddon'
          description: Successful operation
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: PostgresAddon not found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
      security:
        - Bearer: []
components:
  schemas:
    PostgresAddon:
      example:
        outputs:
          - name: name
            sensitive: true
            type: string
          - name: name
            sensitive: true
            type: string
        annotations:
          - value: value
            key: key
          - value: value
            key: key
        created_at: '2000-01-23T04:56:07.000Z'
        spec:
          databases:
            - extensions:
                - vector
                - vector
              name: name
            - extensions:
                - vector
                - vector
              name: name
          backup:
            object_store_id: object_store_id
            schedule: 0 0 0 * * 0
            wal_archiving: false
            enabled: false
          instances:
            count: 1
            placement:
              node_selector:
                key: node_selector
              tolerations:
                - effect: effect
                  value: value
                  key: key
                  operator: operator
                - effect: effect
                  value: value
                  key: key
                  operator: operator
              topology_key: kubernetes.io/hostname
              policy: preferred
          configuration:
            enable_superuser_access: false
            parameters:
              max_connections: '200'
              shared_buffers: 256MB
              work_mem: 4MB
          resources:
            memory:
              request: request
              limit: limit
            cpu:
              request: request
              limit: limit
          initialization:
            import_from_external:
              database: database
              databases_to_import:
                - databases_to_import
                - databases_to_import
              port: 5
              host: host
              password_secret_id: password_secret_id
              ssl_mode: require
              username: username
            restore_from_object_store:
              object_store_id: object_store_id
              source_postgres_addon_id: source_postgres_addon_id
              recovery_target_time: '2000-01-23T04:56:07.000Z'
            type: new
            restore_from_backup:
              backup_id: backup_id
          storage:
            storage_class: storage_class
            size: size
          version:
            major: 13
            minor: 6
            enable_auto_minor_upgrade: true
            enable_auto_major_upgrade: false
        labels:
          - value: value
            key: key
          - value: value
            key: key
        revision: revision
        organisation_id: organisation_id
        cluster_id: cluster_id
        updated_at: '2000-01-23T04:56:07.000Z'
        project_id: project_id
        user_id: user_id
        name: name
        namespace: namespace
        id: id
        status:
          phase: phase
          connection_info:
            databases:
              - owner: owner
                name: name
              - owner: owner
                name: name
            port: 2
            credentials:
              app_user_secrets:
                key: app_user_secrets
              ca_certificate_secret_id: ca_certificate_secret_id
              superuser_secret_id: superuser_secret_id
            host: host
          state: Pending
          message: message
          conditions:
            - reason: reason
              last_transition_time: '2000-01-23T04:56:07.000Z'
              type: type
              message: message
              observed_generation: 1
              status: status
            - reason: reason
              last_transition_time: '2000-01-23T04:56:07.000Z'
              type: type
              message: message
              observed_generation: 1
              status: status
          cluster_info:
            version: version
          observed_revision: observed_revision
          observed_generation: 5
      properties:
        id:
          readOnly: true
          type: string
        organisation_id:
          readOnly: true
          type: string
        project_id:
          readOnly: true
          type: string
        user_id:
          readOnly: true
          type: string
        cluster_id:
          readOnly: true
          type: string
        name:
          description: Unique name for this PostgreSQL cluster
          type: string
        namespace:
          readOnly: true
          type: string
        labels:
          items:
            $ref: '#/components/schemas/Label'
          type: array
        annotations:
          items:
            $ref: '#/components/schemas/Annotation'
          type: array
        revision:
          readOnly: true
          type: string
        outputs:
          items:
            $ref: '#/components/schemas/OutputDescriptor'
          readOnly: true
          type: array
        spec:
          $ref: '#/components/schemas/PostgresAddonSpec'
        status:
          $ref: '#/components/schemas/PostgresAddonStatus'
        created_at:
          format: date-time
          readOnly: true
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type: string
      required:
        - name
        - spec
      type: object
    Error:
      allOf:
        - $ref: '#/components/schemas/ObjectReference'
        - $ref: '#/components/schemas/Error_allOf'
    Label:
      additionalProperties: false
      example:
        value: value
        key: key
      properties:
        key:
          type: string
        value:
          type: string
      required:
        - key
        - value
      type: object
    Annotation:
      example:
        value: value
        key: key
      properties:
        key:
          type: string
        value:
          type: string
      required:
        - key
        - value
      type: object
    OutputDescriptor:
      description: >-
        Declared output metadata for a topology node. Values are not returned
        here.
      example:
        name: name
        sensitive: true
        type: string
      properties:
        name:
          description: Stable output accessor name, for example `host` or `public_url`.
          type: string
        type:
          description: Scalar value type exposed by this output.
          enum:
            - string
            - integer
            - boolean
          type: string
        sensitive:
          description: >-
            True when the output value is sensitive and should never be returned
            in normal metadata APIs.
          type: boolean
      required:
        - name
        - sensitive
        - type
      type: object
    PostgresAddonSpec:
      example:
        databases:
          - extensions:
              - vector
              - vector
            name: name
          - extensions:
              - vector
              - vector
            name: name
        backup:
          object_store_id: object_store_id
          schedule: 0 0 0 * * 0
          wal_archiving: false
          enabled: false
        instances:
          count: 1
          placement:
            node_selector:
              key: node_selector
            tolerations:
              - effect: effect
                value: value
                key: key
                operator: operator
              - effect: effect
                value: value
                key: key
                operator: operator
            topology_key: kubernetes.io/hostname
            policy: preferred
        configuration:
          enable_superuser_access: false
          parameters:
            max_connections: '200'
            shared_buffers: 256MB
            work_mem: 4MB
        resources:
          memory:
            request: request
            limit: limit
          cpu:
            request: request
            limit: limit
        initialization:
          import_from_external:
            database: database
            databases_to_import:
              - databases_to_import
              - databases_to_import
            port: 5
            host: host
            password_secret_id: password_secret_id
            ssl_mode: require
            username: username
          restore_from_object_store:
            object_store_id: object_store_id
            source_postgres_addon_id: source_postgres_addon_id
            recovery_target_time: '2000-01-23T04:56:07.000Z'
          type: new
          restore_from_backup:
            backup_id: backup_id
        storage:
          storage_class: storage_class
          size: size
        version:
          major: 13
          minor: 6
          enable_auto_minor_upgrade: true
          enable_auto_major_upgrade: false
      properties:
        version:
          $ref: '#/components/schemas/PostgresVersion'
        instances:
          $ref: '#/components/schemas/PostgresInstances'
        storage:
          $ref: '#/components/schemas/PostgresStorage'
        resources:
          $ref: '#/components/schemas/PostgresResources'
        backup:
          $ref: '#/components/schemas/PostgresBackupConfig'
        initialization:
          $ref: '#/components/schemas/PostgresInitialization'
        databases:
          items:
            $ref: '#/components/schemas/PostgresDatabase'
          type: array
        configuration:
          $ref: '#/components/schemas/PostgresConfiguration'
      required:
        - instances
        - storage
        - version
      type: object
    PostgresAddonStatus:
      example:
        phase: phase
        connection_info:
          databases:
            - owner: owner
              name: name
            - owner: owner
              name: name
          port: 2
          credentials:
            app_user_secrets:
              key: app_user_secrets
            ca_certificate_secret_id: ca_certificate_secret_id
            superuser_secret_id: superuser_secret_id
          host: host
        state: Pending
        message: message
        conditions:
          - reason: reason
            last_transition_time: '2000-01-23T04:56:07.000Z'
            type: type
            message: message
            observed_generation: 1
            status: status
          - reason: reason
            last_transition_time: '2000-01-23T04:56:07.000Z'
            type: type
            message: message
            observed_generation: 1
            status: status
        cluster_info:
          version: version
        observed_revision: observed_revision
        observed_generation: 5
      properties:
        state:
          enum:
            - Pending
            - Creating
            - Initializing
            - Ready
            - Updating
            - Backing Up
            - Restoring
            - Error
            - Deleting
            - Hibernated
            - Fenced
          type: string
        message:
          type: string
        phase:
          type: string
        conditions:
          items:
            $ref: '#/components/schemas/Condition'
          type: array
        observed_revision:
          type: string
        observed_generation:
          type: integer
        cluster_info:
          $ref: '#/components/schemas/PostgresClusterInfo'
        connection_info:
          $ref: '#/components/schemas/PostgresConnectionInfo'
      type: object
    ObjectReference:
      properties:
        id:
          type: string
        kind:
          type: string
        href:
          type: string
      type: object
    Error_allOf:
      properties:
        code:
          type: string
        reason:
          type: string
        operation_id:
          type: string
        details:
          additionalProperties: true
          description: Optional structured, machine-readable error context
          type: object
      type: object
    PostgresVersion:
      example:
        major: 13
        minor: 6
        enable_auto_minor_upgrade: true
        enable_auto_major_upgrade: false
      properties:
        major:
          description: PostgreSQL major version
          maximum: 17
          minimum: 13
          type: integer
        minor:
          description: PostgreSQL minor version
          type: integer
        enable_auto_minor_upgrade:
          default: true
          description: Enable automatic minor version upgrades
          type: boolean
        enable_auto_major_upgrade:
          default: false
          description: Enable automatic major version upgrades
          type: boolean
      required:
        - major
      type: object
    PostgresInstances:
      example:
        count: 1
        placement:
          node_selector:
            key: node_selector
          tolerations:
            - effect: effect
              value: value
              key: key
              operator: operator
            - effect: effect
              value: value
              key: key
              operator: operator
          topology_key: kubernetes.io/hostname
          policy: preferred
      properties:
        count:
          description: Number of PostgreSQL instances
          maximum: 5
          minimum: 1
          type: integer
        placement:
          $ref: '#/components/schemas/PostgresInstances_placement'
      required:
        - count
      type: object
    PostgresStorage:
      example:
        storage_class: storage_class
        size: size
      properties:
        size:
          description: Storage size (e.g., 10Gi, 100Gi)
          pattern: ^[0-9]+[KMGTP]i?$
          type: string
        storage_class:
          description: >-
            Kubernetes storage class name. Omit to use the cluster's default
            storage class.
          type: string
      required:
        - size
      type: object
    PostgresResources:
      example:
        memory:
          request: request
          limit: limit
        cpu:
          request: request
          limit: limit
      properties:
        cpu:
          $ref: '#/components/schemas/PostgresResources_cpu'
        memory:
          $ref: '#/components/schemas/PostgresResources_memory'
      type: object
    PostgresBackupConfig:
      example:
        object_store_id: object_store_id
        schedule: 0 0 0 * * 0
        wal_archiving: false
        enabled: false
      properties:
        enabled:
          default: false
          description: Enable backup functionality
          type: boolean
        object_store_id:
          description: Reference to ObjectStore for backup storage
          type: string
        schedule:
          default: 0 0 0 * * 0
          description: Cron schedule for automated backups
          type: string
        wal_archiving:
          default: false
          description: Enable WAL archiving for point-in-time recovery
          type: boolean
      type: object
    PostgresInitialization:
      example:
        import_from_external:
          database: database
          databases_to_import:
            - databases_to_import
            - databases_to_import
          port: 5
          host: host
          password_secret_id: password_secret_id
          ssl_mode: require
          username: username
        restore_from_object_store:
          object_store_id: object_store_id
          source_postgres_addon_id: source_postgres_addon_id
          recovery_target_time: '2000-01-23T04:56:07.000Z'
        type: new
        restore_from_backup:
          backup_id: backup_id
      properties:
        type:
          default: new
          enum:
            - new
            - restore_from_backup
            - restore_from_object_store
            - import_from_external
          type: string
        restore_from_backup:
          $ref: '#/components/schemas/PostgresInitialization_restore_from_backup'
        restore_from_object_store:
          $ref: >-
            #/components/schemas/PostgresInitialization_restore_from_object_store
        import_from_external:
          $ref: '#/components/schemas/PostgresInitialization_import_from_external'
      type: object
    PostgresDatabase:
      example:
        extensions:
          - vector
          - vector
        name: name
      properties:
        name:
          description: Database name
          type: string
        extensions:
          description: PostgreSQL extensions to enable
          items:
            enum:
              - vector
            type: string
          type: array
      required:
        - name
      type: object
    PostgresConfiguration:
      example:
        enable_superuser_access: false
        parameters:
          max_connections: '200'
          shared_buffers: 256MB
          work_mem: 4MB
      properties:
        enable_superuser_access:
          default: false
          description: Enable superuser access to the database
          type: boolean
        parameters:
          additionalProperties:
            type: string
          description: PostgreSQL configuration parameters
          example:
            max_connections: '200'
            shared_buffers: 256MB
            work_mem: 4MB
          type: object
      type: object
    Condition:
      additionalProperties: false
      example:
        reason: reason
        last_transition_time: '2000-01-23T04:56:07.000Z'
        type: type
        message: message
        observed_generation: 1
        status: status
      properties:
        type:
          type: string
        status:
          type: string
        observed_generation:
          type: integer
        last_transition_time:
          format: date-time
          type: string
        reason:
          type: string
        message:
          type: string
      type: object
    PostgresClusterInfo:
      example:
        version: version
      properties:
        version:
          description: Current PostgreSQL version
          type: string
      type: object
    PostgresConnectionInfo:
      example:
        databases:
          - owner: owner
            name: name
          - owner: owner
            name: name
        port: 2
        credentials:
          app_user_secrets:
            key: app_user_secrets
          ca_certificate_secret_id: ca_certificate_secret_id
          superuser_secret_id: superuser_secret_id
        host: host
      properties:
        host:
          description: Primary host endpoint
          type: string
        port:
          default: 5432
          type: integer
        databases:
          items:
            $ref: '#/components/schemas/PostgresConnectionInfo_databases_inner'
          type: array
        credentials:
          $ref: '#/components/schemas/PostgresConnectionInfo_credentials'
      type: object
    PostgresInstances_placement:
      example:
        node_selector:
          key: node_selector
        tolerations:
          - effect: effect
            value: value
            key: key
            operator: operator
          - effect: effect
            value: value
            key: key
            operator: operator
        topology_key: kubernetes.io/hostname
        policy: preferred
      properties:
        topology_key:
          default: kubernetes.io/hostname
          description: Topology key for instance spreading
          type: string
        policy:
          default: preferred
          description: Instance placement policy
          enum:
            - preferred
            - required
          type: string
        node_selector:
          additionalProperties:
            type: string
          description: Node selector for instance placement
          type: object
        tolerations:
          items:
            $ref: '#/components/schemas/PostgresInstances_placement_tolerations_inner'
          type: array
      type: object
    PostgresResources_cpu:
      example:
        request: request
        limit: limit
      properties:
        request:
          description: CPU request (e.g., 100m, 1)
          type: string
        limit:
          description: CPU limit
          type: string
      type: object
    PostgresResources_memory:
      example:
        request: request
        limit: limit
      properties:
        request:
          description: Memory request (e.g., 256Mi, 1Gi)
          type: string
        limit:
          description: Memory limit
          type: string
      type: object
    PostgresInitialization_restore_from_backup:
      example:
        backup_id: backup_id
      properties:
        backup_id:
          description: ID of backup to restore from
          type: string
      type: object
    PostgresInitialization_restore_from_object_store:
      example:
        object_store_id: object_store_id
        source_postgres_addon_id: source_postgres_addon_id
        recovery_target_time: '2000-01-23T04:56:07.000Z'
      properties:
        object_store_id:
          description: Object store containing the backup
          type: string
        source_postgres_addon_id:
          description: Source PostgresAddon that created the backup
          type: string
        recovery_target_time:
          description: Point-in-time recovery target
          format: date-time
          type: string
      type: object
    PostgresInitialization_import_from_external:
      example:
        database: database
        databases_to_import:
          - databases_to_import
          - databases_to_import
        port: 5
        host: host
        password_secret_id: password_secret_id
        ssl_mode: require
        username: username
      properties:
        host:
          type: string
        port:
          default: 5432
          type: integer
        database:
          type: string
        username:
          type: string
        password_secret_id:
          description: Secret containing the password
          type: string
        ssl_mode:
          default: require
          enum:
            - disable
            - require
            - verify-ca
            - verify-full
          type: string
        databases_to_import:
          description: Specific databases to import
          items:
            type: string
          type: array
      required:
        - database
        - host
        - password_secret_id
        - port
        - username
      type: object
    PostgresConnectionInfo_databases_inner:
      example:
        owner: owner
        name: name
      properties:
        name:
          type: string
        owner:
          type: string
      type: object
    PostgresConnectionInfo_credentials:
      example:
        app_user_secrets:
          key: app_user_secrets
        ca_certificate_secret_id: ca_certificate_secret_id
        superuser_secret_id: superuser_secret_id
      properties:
        superuser_secret_id:
          description: Secret containing superuser credentials
          type: string
        app_user_secrets:
          additionalProperties:
            type: string
          description: Map of database to app user secret IDs
          type: object
        ca_certificate_secret_id:
          description: Secret containing CA certificate
          type: string
      type: object
    PostgresInstances_placement_tolerations_inner:
      example:
        effect: effect
        value: value
        key: key
        operator: operator
      properties:
        key:
          type: string
        operator:
          type: string
        value:
          type: string
        effect:
          type: string
      type: object
  securitySchemes:
    Bearer:
      bearerFormat: JWT
      scheme: bearer
      type: http

````