openapi: 3.0.0
info:
  version: 1.0.0
  title: Nullplatform API
servers:
  - url: https://api.nullplatform.com
security:
  - bearerAuth: []
paths:
  /account:
    get:
      description: Lists accounts within an organization.
      tags:
        - Account
      summary: List accounts
      operationId: account:list
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          name: organization_id
          schema:
            type: string
          required: true
          description: The ID of the organization for which accounts are being listed.
          example: '123'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The list of accounts matching the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accountListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
    post:
      description: Creates a new account.
      tags:
        - Account
      summary: Create an account
      operationId: account:create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/accountCreate'
      security:
        - bearerAuth: []
      responses:
        '201':
          description: The account was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
  /account/{id}:
    description: An account associated with an organization.
    get:
      summary: Read an account
      description: Reads a specific account.
      operationId: account:read
      tags:
        - Account
      parameters:
        - $ref: '#/components/parameters/metadataIncludes'
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the account.
          example: 1234
      security:
        - bearerAuth: []
      responses:
        '200':
          description: An object representing the account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
    patch:
      description: Updates a specific account.
      tags:
        - Account
      summary: Update an account
      operationId: account:update
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the account.
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/account_write'
      security:
        - bearerAuth: []
      responses:
        '204':
          description: An object representing the account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
  /action/{id}:
    get:
      operationId: action_any:read
      summary: Read an action
      tags:
        - Action
      description: Read an action of a service or link.
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /action_context:
    post:
      operationId: action_context:generate
      summary: Generate the payload of a notification
      tags:
        - Action
      description: Generate the payload of a notification
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - action
                - service
                - entity_nrn
              properties:
                action:
                  type: object
                  required:
                    - type
                    - parameters
                  properties:
                    type:
                      type: string
                      enum:
                        - create
                        - update
                        - delete
                    parameters:
                      type: object
                      additionalProperties: true
                  additionalProperties: true
                service:
                  type: object
                  required:
                    - dimensions
                  properties:
                    dimensions:
                      type: object
                      additionalProperties: true
                  additionalProperties: true
                entity_nrn:
                  $ref: '#/components/schemas/def-2'
                service_specification:
                  type: object
                  required:
                    - name
                  properties:
                    name:
                      type: string
                  additionalProperties: true
              additionalProperties: true
        required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Default Response
          content:
            application/json:
              schema:
                title: Service Action Notification
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  source:
                    type: string
                    enum:
                      - service
                  event:
                    type: string
                    enum:
                      - service:action:create
                  created_at:
                    type: string
                    format: date-time
                  notification:
                    type: object
                    properties:
                      action:
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        type: string
                      slug:
                        type: string
                      status:
                        type: string
                      created_at:
                        type: string
                        format: date-time
                      updated_at:
                        type: string
                        format: date-time
                      parameters:
                        type: object
                        additionalProperties: true
                      results:
                        type: object
                        additionalProperties: true
                      type:
                        type: string
                      specification:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          slug:
                            type: string
                        required:
                          - id
                          - slug
                      service:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          slug:
                            type: string
                          attributes:
                            type: object
                            additionalProperties: true
                          specification:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                              slug:
                                type: string
                            required:
                              - id
                              - slug
                          dimensions:
                            type: object
                            additionalProperties: true
                        required:
                          - id
                          - slug
                          - attributes
                          - specification
                          - dimensions
                      link:
                        nullable: true
                        type: string
                      tags:
                        type: object
                        properties:
                          application_id:
                            type: string
                          application:
                            type: string
                          scope_id:
                            type: string
                          scope:
                            type: string
                          namespace_id:
                            type: string
                          namespace:
                            type: string
                          account_id:
                            type: string
                          account:
                            type: string
                          organization_id:
                            type: string
                          organization:
                            type: string
                        required:
                          - application_id
                          - application
                          - scope_id
                          - scope
                          - namespace_id
                          - namespace
                          - account_id
                          - account
                          - organization_id
                          - organization
                      entity_nrn:
                        type: string
                    required:
                      - action
                      - id
                      - name
                      - slug
                      - status
                      - created_at
                      - updated_at
                      - parameters
                      - results
                      - type
                      - specification
                      - service
                      - link
                      - tags
                      - entity_nrn
                required:
                  - id
                  - source
                  - event
                  - created_at
                  - notification
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /action_specification:
    get:
      operationId: action_specification:list
      summary: List specification actions
      tags:
        - Action
      description: List action specifications
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: service_specification_id
          required: false
          description: Unique identifier for the associated service specification
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: link_specification_id
          required: false
          description: Unique identifier for the associated link specification
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: service_id
          required: false
          description: Service id identifier for dynamic additional properties
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: link_id
          required: false
          description: Link id identifier for dynamic additional properties
        - schema:
            anyOf:
              - type: 'null'
              - type: integer
          in: query
          name: application_id
          required: false
          description: Application id identifier for dynamic additional properties
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: ActionSpecificationList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-39'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /action_specification/{id}:
    get:
      operationId: action_specification:read
      summary: Read an action specification
      tags:
        - Action
      description: Read an action specification of a service or link
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /api_key:
    get:
      summary: List API keys
      description: |
        Lists all API keys.
      tags:
        - API keys
      operationId: api_key:list
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: owner_id
          description: Filter API keys by owner ID.
          schema:
            type: integer
          required: false
          example: 789
        - in: query
          name: name
          description: Filter API keys by name. Supports case-insensitive partial string matches. For example, searching for 'alex' will match names like 'Alex doe', 'alex123', or 'alex-xyz'.
          schema:
            type: string
          required: false
          example: alex
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiKeyPaginatedResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create an API key
      description: |
        Creates a new API key.
      operationId: api_key:create
      tags:
        - API keys
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api_keyNew'
            examples:
              Create API key using role_slug:
                value:
                  name: my-machine-process-that-will-access-nullplatform
                  grants:
                    - nrn: organization=1:account=1:namespace=1:application=4
                      role_slug: machine:ci
                  tags:
                    - key: machine
                      value: 'true'
              Create API key using role_id:
                value:
                  name: my-machine-process-that-will-access-nullplatform
                  grants:
                    - nrn: organization=1:account=1:namespace=1:application=4
                      role_id: 1855672260
                  tags:
                    - key: machine
                      value: 'true'
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiKeyPostResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /api_key/{id}:
    get:
      summary: Read an API key
      description: |
        Reads an API key by ID.
      operationId: api_key:read
      tags:
        - API keys
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          description: |
            The unique identifier for the API key.
          required: true
          schema:
            type: integer
          example: 1234
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiKeyResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update an API key
      description: |
        Updates an API key by ID.
      operationId: api_key:update
      security:
        - bearerAuth: []
      tags:
        - API keys
      parameters:
        - name: id
          in: path
          description: |
            The unique identifier for the API key.
          required: true
          schema:
            type: integer
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api_keyWrite'
            examples:
              API key (grants using role_slug):
                value:
                  name: my-machine-process-that-will-access-nullplatform
                  grants:
                    - nrn: organization=1:account=1:namespace=1:application=4
                      role_slug: machine:ci
                  tags:
                    - key: machine
                      value: 'true'
              API key (grants using role_id):
                value:
                  name: my-machine-process-that-will-access-nullplatform
                  grants:
                    - nrn: organization=1:account=1:namespace=1:application=4
                      role_id: 1855672260
                  tags:
                    - key: machine
                      value: 'true'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiKeyResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Remove an API key
      description: |
        Removes an API key by ID.
      operationId: api_key:delete
      tags:
        - API keys
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          description: |
            The unique identifier for the API key.
          required: true
          schema:
            type: integer
          example: 1234
      responses:
        '204':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /application:
    get:
      description: Lists applications within a namespace.
      tags:
        - Application
      summary: List applications
      operationId: application:list
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          name: namespace_id
          example: 5678,1234
          schema:
            type: string
          required: true
          description: The namespace ID for the applications being listed. Allows up to 10 comma-separated values.
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The list of applications matching the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create an application
      description: Creates a new application in an existing namespace.
      operationId: application:create
      tags:
        - Application
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /application/{id}:
    get:
      summary: Read an application
      description: Provides information about the application.
      operationId: application:read
      tags:
        - Application
      parameters:
        - $ref: '#/components/parameters/parameters-metadataIncludes'
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the application.
          example: 1234
      security:
        - bearerAuth: []
      responses:
        '200':
          description: An object representing the application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update an application
      description: Updates information for an application
      operationId: application:update
      tags:
        - Application
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the application to update
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/application_write'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    put:
      summary: Update an application
      description: Updates information for an application.
      operationId: application:replace
      tags:
        - Application
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the application.
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/application_write'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/{id}:
    get:
      summary: Read an approval
      description: Reads an approval.
      operationId: approval:read
      tags:
        - Approval
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the approval.
          example: 1234
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/{id}/approve:
    post:
      summary: Approve a request
      description: |
        Approves a request using its ID. 

        :::note
          This endpoint is executed according to the URL you received in the approval notification.
        :::
      tags:
        - Approval
      operationId: approval_approve:create
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the approval.
          example: 1234
        - in: query
          name: token
          required: true
          schema:
            type: string
          description: The authentication token provided in the approval notification.
          example: your-authentication-token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/approval_replyApprove'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the operation was successful.
                    example: true
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/{id}/deny:
    post:
      summary: Deny a request
      description: |
        Denies a request by ID. 

        :::note
        This endpoint is executed according to the URL you received in the approval notification.
        :::
      tags:
        - Approval
      operationId: approval_deny:create
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the approval.
          example: 1234
        - in: query
          name: token
          required: true
          schema:
            type: string
          description: The authentication token provided in the approval notification.
          example: your-authentication-token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/approval_replyDeny'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                required:
                  - success
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the operation was successful.
                    example: true
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/action:
    get:
      summary: List actions
      description: List approval actions filtered by NRN, entity, action, or dimensions.
      operationId: approval_action:list
      tags:
        - Action
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: nrn
          schema:
            type: string
          required: true
          description: |
            The resource that will be subject to approvals. 

            > **Note:** This is a hierarchical setting, so if you set approvals for a namespace, then all applications and scopes inside the namespace will match against the action.
          example: organization=1:account=2:namespace=4:application=4:scope=5
        - in: query
          name: entity
          schema:
            $ref: '#/components/schemas/entity'
          required: true
          description: The entity that requires approval.
          example: deployment
        - in: query
          name: action
          schema:
            $ref: '#/components/schemas/action'
          required: true
          description: The action that requires approval.
          example: deployment:create
        - in: query
          name: dimensions
          schema:
            type: string
          required: false
          description: Specify the [dimensions](/docs/dimensions) you have configured.You can include multiple key-value pairs, separated by commas
          example: environment:production,country:us
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/actionListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create an approval action
      description: Creates a new approval action.
      operationId: approval_action:create
      tags:
        - Action
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/approval_actionCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval_action'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/action/{id}:
    get:
      summary: Read an approval action
      description: Reads an approval action.
      operationId: approval_action:read
      tags:
        - Action
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the approval action.
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval_action'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update an action
      description: Updates the `on_policy_success` and `on_policy_fail` fields of an existing approval action.
      operationId: approval_action:update
      tags:
        - Action
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the approval action.
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/approval_actionWrite'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval_action'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete an action
      description: |
        Permanently removes an approval action. This action cannot be undone."
      operationId: approval_action:delete
      tags:
        - Action
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the approval action.
          example: 1234
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the operation was successful.
                    example: true
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/action/{id}/policy:
    post:
      summary: Associate policy with action
      description: Associates a policy with the specified approval action.
      operationId: approval_action:associate_policy
      tags:
        - Action
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the approval action.
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              properties:
                policy_id:
                  type: integer
                  description: The ID of the policy to associate.
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the operation was successful.
                    example: true
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/action/{id}/policy/{policy_id}:
    delete:
      summary: Disassociate policy from action
      description: Disassociates a policy from the specified approval action.
      operationId: approval_action:disassociate_policy
      tags:
        - Action
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the approval action.
          example: 1234
        - in: path
          name: policy_id
          schema:
            type: integer
          required: true
          description: The ID of the policy to disassociate.
          example: 5678
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the operation was successful.
                    example: true
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/policy:
    get:
      summary: List policies
      description: List policies filtered by NRN.
      operationId: policy:list
      tags:
        - Policy
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: nrn
          schema:
            type: string
          required: false
          description: The NRN of the resource (including children resources) where the policy applies.
          example: organization=1:account=2:namespace=4:application=4:scope=5
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policyListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a policy
      description: Creates a new policy.
      operationId: policy:create
      tags:
        - Policy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/policyCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policy'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/policy/{id}:
    get:
      summary: Read a policy
      description: Reads a policy.
      operationId: policy:read
      tags:
        - Policy
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the policy.
          example: 5678
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policy'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a policy
      description: Updates the conditions of an existing policy.
      operationId: policy:update
      tags:
        - Policy
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the policy.
          example: 5678
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/policyWrite'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/policy'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete a policy
      description: Deletes a policy. This action cannot be undone.
      operationId: policy:delete
      tags:
        - Policy
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the policy.
          example: 5678
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the operation was successful.
                    example: true
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /approval/required:
    get:
      summary: Is Required
      description: Check if an approval is required for the specified NRN, entity, action, and dimensions.
      operationId: approval_required:list
      tags:
        - Approval
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: nrn
          schema:
            type: string
          required: true
          description: |
            Specifies the resource (application, scope, etc.) that requires approval. 

            > **Note:** This follows a hierarchical structure, meaning if approvals are set at the namespace level, all applications and scopes within that namespace will inherit the rule.
          example: organization=1:account=2:namespace=4:application=4:scope=5
        - in: query
          name: entity
          schema:
            $ref: '#/components/schemas/entity'
          required: true
          description: The entity that requires approval.
          example: deployment
        - in: query
          name: action
          schema:
            $ref: '#/components/schemas/action'
          required: true
          description: The action that requires approval.
          example: deployment:create
        - in: query
          name: dimensions
          schema:
            type: string
          required: false
          description: Specify the [dimensions](/docs/dimensions) you have configured.You can include multiple key-value pairs, separated by commas
          example: environment:production,country:us
      responses:
        '200':
          description: Returns whether approval is required for the specified parameters.
          content:
            application/json:
              schema:
                required:
                  - required
                properties:
                  required:
                    type: boolean
                    description: '`true` when an approval will be required for these parameters, `false` otherwise.'
                    example: true
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /asset:
    get:
      tags:
        - Asset
      summary: List assets
      description: Lists assets by `build_id`.
      operationId: asset:list
      security:
        - bearerAuth: []
      parameters:
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - name: limit
          in: query
          required: false
          schema:
            type: integer
          description: The maximum number of results to return per page"
          example: 30
        - name: build_id
          in: query
          required: true
          schema:
            type: integer
          description: The ID of the build to list assets by.
          example: 345
        - name: type
          in: query
          required: false
          schema:
            type: string
            enum:
              - docker-image
              - lambda
          description: The type of the asset.
          example: docker-image
        - name: platform
          in: query
          required: false
          schema:
            type: string
            enum:
              - x86_64
              - arm_64
          description: The platform of the asset.
          example: arm_64
      responses:
        '200':
          description: A list of assets.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/assetListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create an asset
      description: Creates a new asset.
      tags:
        - Asset
      operationId: asset:create
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assetCreate'
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assetResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /asset/{id}:
    get:
      tags:
        - Asset
      summary: Read an asset
      description: Reads an asset by ID.
      operationId: asset:read
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
          description: The ID of the asset to read.
          example: 123
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assetResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      tags:
        - Asset
      summary: Update an asset
      description: Updates an asset.
      operationId: asset:update
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
          description: The ID of the asset to update.
          example: 123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assetUpdate'
      responses:
        '200':
          description: The asset was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assetResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /authz/grants:
    post:
      summary: Grant access to a user
      description: |
        Give users access to resources (NRN) in your organization.

        You can **use either the role slug or the role ID** to specify the role you want to assign to the user.
      tags:
        - Grant access to users
      operationId: grants:create
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/grantNewBase'
            examples:
              Using role slug:
                value:
                  nrn: organization=1:account=2
                  user_id: 1234
                  role_slug: developer
              Using role ID:
                value:
                  nrn: organization=1:account=2
                  user_id: 1234
                  role_id: 700317756
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grantNewBase'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /build:
    get:
      tags:
        - Build
      summary: List builds
      description: Lists builds for an application.
      operationId: build:list
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - name: application_id
          in: query
          required: true
          schema:
            type: integer
          description: The ID of the application to filter by.
          example: 234
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - pending
              - in_progress
              - failed
              - successful
          description: The status of the build.
          example: in_progress
        - name: commit.id
          in: query
          required: false
          schema:
            type: string
          description: The commit ID of the build.
          example: 2fa10e1
      security:
        - bearerAuth: []
      responses:
        '200':
          description: A list of builds.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/buildListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a build
      description: Create a new build.
      tags:
        - Build
      operationId: build:create
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/buildCreate'
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buildResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /build/{id}:
    get:
      tags:
        - Build
      summary: Read a build
      description: Read a build by ID.
      operationId: build:read
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
          description: The ID of the build to read.
          example: 123
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buildResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      tags:
        - Build
      summary: Update a build
      description: Updates a build.
      operationId: build:update
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
          description: The ID of the build to read.
          example: 123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/buildUpdate'
      responses:
        '200':
          description: The build was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buildResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /category:
    get:
      operationId: provider_category:list
      summary: List categories
      tags:
        - Category
      description: Get a paginated list of providers categories filter by **type** and other queries
      parameters:
        - schema:
            type: integer
            minimum: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: integer
            minimum: 0
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            type: array
            items:
              type: string
              enum:
                - sub_categories
                - parent
                - category_type
          in: query
          name: include
          required: false
          description: Related resources to include in the response.
        - schema:
            type: string
          in: query
          name: type
          required: false
          description: Unique category type slug to filter by. i.e. "menu"
        - schema:
            type: string
          in: query
          name: slug
          required: false
          description: Unique category slug to filter by
      responses:
        2XX:
          description: Paginated list of categories
          content:
            application/json:
              schema:
                title: CategoryList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-23'
                required:
                  - paging
                  - results
                description: Paginated list of categories
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /category/{id}:
    get:
      operationId: provider_category:read
      summary: Read a category
      tags:
        - Category
      description: Read a provider category by ID. Use the **include** query parameter to retrieve related resources.
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - sub_categories
                - parent
                - category_type
          in: query
          name: include
          required: false
          description: Related resources to include in the response.
        - schema:
            $ref: '#/components/schemas/def-0'
          in: path
          name: id
          required: true
      responses:
        2XX:
          description: Object representing a category resource
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    $ref: '#/components/schemas/def-0'
                  name:
                    type: string
                    description: Name of the category
                  slug:
                    type: string
                    description: Unique slug for the category
                  icon:
                    type: string
                    description: Icon for the category
                  description:
                    type: string
                    description: Description of the category
                  parent_id:
                    $ref: '#/components/schemas/def-0'
                    description: ID of the parent category
                  category_type_id:
                    $ref: '#/components/schemas/def-0'
                    description: ID of the category type
                  category_type:
                    title: CategoryType
                    type: object
                    description: Category type of the category
                    properties:
                      id:
                        $ref: '#/components/schemas/def-0'
                        description: ID of the category type
                      name:
                        type: string
                        description: Name of the category type
                      slug:
                        type: string
                        description: Unique slug for the category type
                      description:
                        type: string
                        description: Description of the category type
                    required:
                      - id
                      - name
                      - slug
                  parent:
                    $ref: '#/components/schemas/def-23'
                    description: Parent category of the category
                  sub_categories:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-23'
                    description: Sub categories of the category
                  created_at:
                    type: string
                    format: date-time
                    description: Creation timestamp
                  updated_at:
                    type: string
                    format: date-time
                    description: Last update timestamp
                title: CategoryRead
                description: Object representing a category resource
                required:
                  - id
                  - name
                  - slug
                  - category_type_id
                  - created_at
                  - updated_at
                example:
                  id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
                  name: Compute & Containers
                  slug: compute-containers
                  description: Category for compute and container services
                  category_type_id: 123e4567-e89b-12d3-a456-426614174000
                  sub_categories:
                    - id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
                      name: Cloud Providers
                      slug: cloud-providers
                      description: Category for cloud platform providers
                      category_type_id: 123e4567-e89b-12d3-a456-426614174000
                      sub_categories: []
                      created_at: '2024-10-15T08:30:00Z'
                      updated_at: '2024-10-20T14:45:00Z'
                    - id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
                      name: Container Orchestration
                      slug: container-orchestration
                      description: Category for cloud platform providers
                      category_type_id: 123e4567-e89b-12d3-a456-426614174000
                      sub_categories: []
                      created_at: '2024-10-15T08:30:00Z'
                      updated_at: '2024-10-20T14:45:00Z'
                  created_at: '2024-10-15T08:30:00Z'
                  updated_at: '2024-10-20T14:45:00Z'
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /controlplane/agent:
    get:
      tags:
        - Agent
      summary: List agents
      description: Lists agents within an organization.
      operationId: log_agent:list
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: organization_id
          schema:
            type: integer
          description: The ID of the organization.
          example: 1234
        - in: query
          name: account_id
          schema:
            type: integer
          description: The ID of the account.
          example: 2345
        - in: query
          name: tags
          schema:
            type: string
          description: Object containing key-value pairs representing tags to be matched for applying the configuration.
          example: environment:production,service:api
      responses:
        '200':
          description: The list of agents matching the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/agentListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /controlplane/agent/{agentId}:
    get:
      tags:
        - Agent
      summary: Get agent
      description: Retrieve a specific agent by its ID.
      operationId: log_agent:read
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: agentId
          required: true
          schema:
            type: string
          description: The unique ID of the agent.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/agent'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /controlplane/agent_command:
    post:
      tags:
        - Agent
      summary: Execute agent command
      description: Executes a command on a specific agent.
      operationId: agent_command:execute
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/agentCommandRequest'
      responses:
        '200':
          description: Command executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/agentCommandResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /controlplane/log/config:
    get:
      tags:
        - Log
      summary: List log configurations
      description: List log configurations for a specific organization and account.
      operationId: log_config:list
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: organization_id
          required: true
          schema:
            type: integer
          description: The ID of the organization.
          example: 1234
        - in: query
          name: account_id
          required: false
          schema:
            type: integer
          description: The ID of the account.
          example: 2345
        - in: query
          name: selector
          required: false
          schema:
            type: object
          description: |
            An object containing key-value pairs representing tags to be matched for applying the log configuration. For example: `{ "environment": "production", "service": "api" }`.
          example:
            environment: production
            service: api
      responses:
        '200':
          description: A list of log configurations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/logConfigListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a log configuration
      description: Creates a new log configuration or overwrites an existing one, replacing any previous values.
      operationId: log_config:create
      tags:
        - Log
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/logConfigCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/logConfig'
  /controlplane/log/config/{configId}:
    get:
      summary: Read a log configuration
      description: Read a specific log configuration.
      parameters:
        - in: path
          name: configId
          required: true
          schema:
            type: string
          description: The unique ID of the log configuration.
      operationId: log_config:read
      tags:
        - Log
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/logConfig'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      security:
        - bearerAuth: []
      summary: Delete a log configuration
      description: Delete a specific log configuration by its ID.
      tags:
        - Log
      operationId: log_config:delete
      parameters:
        - in: path
          name: configId
          required: true
          schema:
            type: string
          description: The unique ID of the log configuration to delete.
      responses:
        '200':
          description: Log configuration successfully deleted.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /controlplane/log/spec:
    get:
      security:
        - bearerAuth: []
      tags:
        - Log specification
      summary: List log specifications
      description: List of all log specifications.
      operationId: log_specification:list
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
            default: 10
          description: Limit for the number of items to be returned.
        - in: query
          name: offset
          schema:
            type: integer
            default: 0
          description: Offset from the start of the collection.
      responses:
        '200':
          description: A paged list of log specifications
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/logSpecListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      security:
        - bearerAuth: []
      tags:
        - Log specification
      summary: Create log specification
      description: Create a new log specification.
      operationId: log_specification:create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/logSpecRequest'
      responses:
        '201':
          description: Log specification created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/logSpecResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /controlplane/log/spec/{specId}:
    patch:
      security:
        - bearerAuth: []
      tags:
        - Log specification
      summary: Update log specification
      description: Updates an existing log specification by its ID.
      operationId: log_specification:update
      parameters:
        - in: path
          name: specId
          required: true
          schema:
            type: string
          description: The unique ID of the log specification to update.
          example: 3456
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/logSpecUpdateRequest'
      responses:
        '204':
          description: Log specification updated successfully.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      security:
        - bearerAuth: []
      tags:
        - Log specification
      summary: Delete log specification
      description: Delete a specific log specification by its ID.
      operationId: log_specification:delete
      parameters:
        - in: path
          name: specId
          required: true
          schema:
            type: string
          description: The unique ID of the log specification to delete.
          example: '3456'
      responses:
        '200':
          description: Log specification successfully deleted.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /controlplane/template:
    get:
      summary: List templates
      security:
        - bearerAuth: []
      tags:
        - Template
      description: List all templates without their content.
      operationId: log_template:list
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/templateListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      security:
        - bearerAuth: []
      tags:
        - Template
      summary: Create template
      description: Create a new template.
      operationId: log_template:create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/templateCreationRequest'
      responses:
        '201':
          description: Template created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/templateResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /controlplane/template/{templateId}:
    get:
      security:
        - bearerAuth: []
      tags:
        - Template
      summary: Get template
      operationId: log_template:read
      description: Retrieve a specific template by its ID.
      parameters:
        - in: path
          name: templateId
          required: true
          schema:
            type: string
          description: The unique ID of the template.
          example: 4567
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/templateResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      security:
        - bearerAuth: []
      tags:
        - Template
      summary: Update template
      description: Updates an existing template by its ID.
      operationId: log_template:update
      parameters:
        - in: path
          name: templateId
          required: true
          schema:
            type: string
          description: The unique ID of the template.
          example: 4567
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/templateCreationRequest'
      responses:
        '200':
          description: Template updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/templateResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      security:
        - bearerAuth: []
      tags:
        - Template
      summary: Delete template
      description: Delete a specific template by its ID.
      operationId: log_template:delete
      parameters:
        - in: path
          name: templateId
          required: true
          schema:
            type: string
          description: The unique ID of the template.
          example: 4567
      responses:
        '200':
          description: Template successfully deleted.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /deployment:
    get:
      description: Lists all deployments that belong to an application or scope.
      tags:
        - Deployment
      summary: List deployments
      operationId: deployment:list
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          name: scope_id
          schema:
            type: string
          required: false
          description: |
            Filters deployments by scope. Supports up to 10 comma-separated values.
          example: 5678,1234
        - in: query
          name: application_id
          schema:
            type: string
          required: false
          description: |
            Filters deployments by application. Supports a single value.
          example: '6789'
        - $ref: '#/components/parameters/includeMessages'
      responses:
        '200':
          description: The list of deployments matching the query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deploymentsListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a deployment
      description: Create a new deployment in an existing scope
      operationId: deployment:create
      tags:
        - Deployment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/deploymentCreate'
      security:
        - bearerAuth: []
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /deployment/{id}:
    get:
      summary: Read a deployment
      description: Read a specific deployment
      operationId: deployment:read
      tags:
        - Deployment
      parameters:
        - name: id
          in: path
          description: The ID of the deployment to read.
          required: true
          schema:
            type: string
          example: '1'
        - $ref: '#/components/parameters/includeMessages'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: An object representing the deployment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a deployment
      description: Updates information for a deployment
      operationId: deployment:update
      tags:
        - Deployment
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          description: The ID of the deployment.
          required: true
          schema:
            type: string
          example: '1'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/deployment_update'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /deployment_group:
    get:
      summary: List deployment groups
      description: |
        List all deployment groups for a specific application.
      tags:
        - Deployment groups
      operationId: deployment_group:list
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          name: application_id
          description: The ID of the application to list deployment groups for.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deploymentGroupPaginatedResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create deployment group
      description: |
        Create a new deployment group with multiple deployments.
      tags:
        - Deployment groups
      operationId: deployment_group:create
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/deploymentGroupCreateRequest'
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deploymentGroupResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /deployment_group/{id}:
    get:
      summary: Read deployment group
      description: |
        Retrieves information about a specific deployment group.
      tags:
        - Deployment groups
      operationId: deployment_group:read
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          description: The ID of the deployment group to read.
          required: true
          schema:
            type: string
          example: '1'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deploymentGroupResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update deployment group
      description: |
        Updates a deployment group's status or strategy data.
      tags:
        - Deployment groups
      operationId: deployment_group:update
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          description: The ID of the deployment group to update.
          required: true
          schema:
            type: string
          example: '1'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/deploymentGroupUpdateRequest'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deploymentGroupResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /dimension:
    get:
      summary: List dimensions
      description: List dimensions by NRN.
      operationId: dimension:list
      tags:
        - Dimension
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          schema:
            type: string
          required: true
          name: nrn
          description: Filter dimensions by NRN.
          example: organization=1:account=2:namespace=3:application=4
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_dimension_list'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a dimension
      description: Creates a dimension.
      operationId: dimension:create
      tags:
        - Dimension
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/runtime_configuration_dimensionCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_dimension'
  /dimension/{id}:
    get:
      summary: Read a dimension
      description: Read a dimension by its ID.
      operationId: dimension:read
      tags:
        - Dimension
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the dimension.
          example: 1234
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_dimension'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a dimension
      description: Updates an dimension.
      operationId: dimension:write
      tags:
        - Dimension
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the dimension.
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/runtime_configuration_dimensionWrite'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_dimension'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Remove a dimension
      description: Remove a dimension by ID.
      operationId: dimension:delete
      tags:
        - Dimension
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the dimension.
          example: 1234
      security:
        - bearerAuth: []
      responses:
        '204':
          description: The operation was successful
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /dimension/{dimensionId}/value:
    get:
      summary: List dimension values
      description: List dimension values by NRN.
      operationId: dimension_value:list
      tags:
        - Dimension Value
      parameters:
        - in: path
          required: true
          schema:
            type: integer
          name: dimensionId
          description: Filter dimension values by dimension ID.
          example: '123'
        - in: query
          required: true
          schema:
            type: string
          name: nrn
          description: Filter dimension values by NRN.
          example: organization=1:account=2:namespace=3:application=4
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_dimension_value_list'
    post:
      summary: Create a dimension value
      description: Create dimension value.
      operationId: dimension_value:create
      tags:
        - Dimension value
      parameters:
        - in: path
          required: true
          schema:
            type: integer
          name: dimensionId
          description: The ID of the dimension.
          example: '123'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/runtime_configuration_dimension_valueCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_dimension_value'
  /dimension/{dimensionId}/value/{id}:
    get:
      summary: Read a dimension value
      description: Read a dimension value by its ID.
      operationId: dimension_value:read
      tags:
        - Dimension Value
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: dimensionId
          schema:
            type: integer
          required: true
          description: The ID of the dimension.
          example: 2345
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the dimension value.
          example: 1234
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_dimension_value'
    patch:
      summary: Update a dimension value
      description: Updates a dimension value.
      operationId: dimension_value:write
      tags:
        - Dimension Value
      parameters:
        - in: path
          name: dimensionId
          schema:
            type: integer
          required: true
          description: The ID of the dimension.
          example: 2345
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the dimension value.
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/runtime_configuration_dimension_valueWrite'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_dimension_value'
    delete:
      summary: Remove a dimension value
      description: Remove a dimension value by ID.
      operationId: dimension_value:delete
      tags:
        - Dimension Value
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: dimensionId
          schema:
            type: integer
          required: true
          description: The ID of the dimension.
          example: 2345
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the dimension value.
          example: 1234
      responses:
        '204':
          description: The operation was successful
  /entity_hook/action:
    get:
      description: Lists entity hook actions within an organization.
      tags:
        - Entity hook
      summary: List entity hook actions
      operationId: entity_hook_action:list
      parameters:
        - in: query
          name: nrn
          schema:
            type: string
          required: true
          description: Filters actions that match or are more specific than the provided NRN.
          example: organization=1:account=2:namespace=3
        - in: query
          name: entity
          schema:
            type: string
          description: The type of entity affected by this entity hook action.
          example: scope
        - in: query
          name: 'on'
          schema:
            type: string
            enum:
              - create
              - update
              - delete
          description: Specifies the type of action that triggers the hook.
          example: create
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The list of entity hooks matching the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityHookListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      description: Create an action for an entity hook.
      tags:
        - Entity hook
      summary: Create an entity hook action
      operationId: entity_hook_action:create
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/entityHook_create'
      responses:
        '200':
          description: The action was triggered successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityHook'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /entity_hook/action/{id}:
    get:
      description: Read an entity hook action.
      tags:
        - Entity hook
      summary: Read an entity hook action
      operationId: entity_hook_action:read
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The ID of the entity hook action to delete.
          example: 550e8400-e29b-41d4-a716-446655440000
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The entity hook action was found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityHook'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      description: Updates an entity hook action.
      tags:
        - Entity hook
      summary: Update an entity hook action
      operationId: entity_hook_action:update
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The ID of the entity hook action to delete.
          example: 550e8400-e29b-41d4-a716-446655440000
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/entityHook_write'
      responses:
        '200':
          description: The entity hook action was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/entityHook'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      description: Delete an entity hook action.
      tags:
        - Entity hook
      summary: Delete an entity hook action
      operationId: entity_hook_action:delete
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The ID of the entity hook action to delete.
          example: 550e8400-e29b-41d4-a716-446655440000
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The entity hook action was deleted.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /link:
    get:
      operationId: link:list
      summary: List links
      tags:
        - Link
      description: List links
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: include_messages
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            $ref: '#/components/schemas/def-1'
          in: query
          name: service_id
          required: false
          description: Unique identifier for the associated service
        - schema:
            type: string
            enum:
              - pending_create
              - pending
              - creating
              - updating
              - active
              - failed
              - cancelled
          in: query
          name: status
          required: false
          description: Status of the link. Should be one of the specified values in the enumeration
        - schema:
            type: boolean
            default: false
          in: query
          name: show_descendants
          required: false
          description: Specifies whether to show entities defined in the lower level of the NRN hierarchy
        - schema:
            type: boolean
            default: false
          in: query
          name: include_secret_attributes
          required: false
          description: Specifies whether to show secret attributes values. If set to true, secret attributes values will be shown
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: LinkList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-33'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: link:create
      summary: Create a link
      tags:
        - Link
      description: Create a link
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                specification_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the specification associated with the entity
                desired_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                  description: Desired unique identifier for the associated specification
                messages:
                  $ref: '#/components/schemas/def-5'
                  description: Object representing instance messages with severity levels
                dimensions:
                  default: {}
                  $ref: '#/components/schemas/def-8'
                  description: Object representing dimensions restrictions with key-value pairs
                attributes:
                  default: {}
                  type: object
                  description: Attributes associated with the link, should be valid against the link specification attribute schema
                selectors:
                  default: {}
                  $ref: '#/components/schemas/def-6'
                  description: Key-value object representing link selectors
                status:
                  type: string
                  enum:
                    - pending_create
                    - pending
                    - creating
                    - updating
                    - active
                    - failed
                    - cancelled
                  description: Status of the link. Should be one of the specified values in the enumeration
                service_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the associated service
                entity_nrn:
                  $ref: '#/components/schemas/def-2'
              description: Object representing link instances
              additionalProperties: false
              title: Link
              example:
                name: my-link
                service_id: 9548393c-f1d1-4bbc-97a6-c3968862f2a4
                specification_id: 5a872c9a-9a16-4a6d-a000-d0e7404a15aa
                entity_nrn: organization=1:account=1:namespace=1:application=1
                dimensions:
                  environment: production
                attributes:
                  my_link_attribute: my_value
              required:
                - name
                - specification_id
                - entity_nrn
                - service_id
        required: true
        description: Object representing link instances
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing link instances
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - creating
                      - updating
                      - active
                      - failed
                      - cancelled
                    description: Status of the link. Should be one of the specified values in the enumeration
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  dimensions:
                    $ref: '#/components/schemas/def-8'
                    description: Object representing dimensions restrictions with key-value pairs
                  attributes:
                    type: object
                    description: Attributes associated with the link, should be valid against the link specification attribute schema
                  entity_nrn:
                    $ref: '#/components/schemas/def-2'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing link selectors
                description: Object representing link instances
                additionalProperties: false
                title: Link
                example:
                  name: my-link
                  service_id: 9548393c-f1d1-4bbc-97a6-c3968862f2a4
                  specification_id: 5a872c9a-9a16-4a6d-a000-d0e7404a15aa
                  entity_nrn: organization=1:account=1:namespace=1:application=1
                  dimensions:
                    environment: production
                  attributes:
                    my_link_attribute: my_value
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /link/{id}:
    get:
      operationId: link:read
      summary: Read a link
      tags:
        - Link
      description: Read a link
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing link instances
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - creating
                      - updating
                      - active
                      - failed
                      - cancelled
                    description: Status of the link. Should be one of the specified values in the enumeration
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  dimensions:
                    $ref: '#/components/schemas/def-8'
                    description: Object representing dimensions restrictions with key-value pairs
                  attributes:
                    type: object
                    description: Attributes associated with the link, should be valid against the link specification attribute schema
                  entity_nrn:
                    $ref: '#/components/schemas/def-2'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing link selectors
                description: Object representing link instances
                additionalProperties: false
                title: Link
                example:
                  name: my-link
                  service_id: 9548393c-f1d1-4bbc-97a6-c3968862f2a4
                  specification_id: 5a872c9a-9a16-4a6d-a000-d0e7404a15aa
                  entity_nrn: organization=1:account=1:namespace=1:application=1
                  dimensions:
                    environment: production
                  attributes:
                    my_link_attribute: my_value
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: link:update
      summary: Update a link
      tags:
        - Link
      description: Updates a link
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                desired_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                  description: Desired unique identifier for the associated specification
                messages:
                  $ref: '#/components/schemas/def-5'
                  description: Object representing instance messages with severity levels
                status:
                  type: string
                  enum:
                    - pending_create
                    - pending
                    - creating
                    - updating
                    - active
                    - failed
                    - cancelled
                  description: Status of the link. Should be one of the specified values in the enumeration
                attributes:
                  type: object
                  description: Attributes associated with the link, should be valid against the link specification attribute schema
                selectors:
                  $ref: '#/components/schemas/def-6'
                  description: Key-value object representing link selectors
              description: Object representing link instances
              additionalProperties: false
              title: Link
              example:
                name: my-link
                service_id: 9548393c-f1d1-4bbc-97a6-c3968862f2a4
                specification_id: 5a872c9a-9a16-4a6d-a000-d0e7404a15aa
                entity_nrn: organization=1:account=1:namespace=1:application=1
                dimensions:
                  environment: production
                attributes:
                  my_link_attribute: my_value
        description: Object representing link instances
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing link instances
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - creating
                      - updating
                      - active
                      - failed
                      - cancelled
                    description: Status of the link. Should be one of the specified values in the enumeration
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  dimensions:
                    $ref: '#/components/schemas/def-8'
                    description: Object representing dimensions restrictions with key-value pairs
                  attributes:
                    type: object
                    description: Attributes associated with the link, should be valid against the link specification attribute schema
                  entity_nrn:
                    $ref: '#/components/schemas/def-2'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing link selectors
                description: Object representing link instances
                additionalProperties: false
                title: Link
                example:
                  name: my-link
                  service_id: 9548393c-f1d1-4bbc-97a6-c3968862f2a4
                  specification_id: 5a872c9a-9a16-4a6d-a000-d0e7404a15aa
                  entity_nrn: organization=1:account=1:namespace=1:application=1
                  dimensions:
                    environment: production
                  attributes:
                    my_link_attribute: my_value
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: link:delete
      summary: Delete a link
      tags:
        - Link
      description: Delete a link
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: force
          required: false
          description: Specifies whether to force delete the link. If set to true, the link will be deleted without checking for delete action existence
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing link instances
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - creating
                      - updating
                      - active
                      - failed
                      - cancelled
                    description: Status of the link. Should be one of the specified values in the enumeration
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  dimensions:
                    $ref: '#/components/schemas/def-8'
                    description: Object representing dimensions restrictions with key-value pairs
                  attributes:
                    type: object
                    description: Attributes associated with the link, should be valid against the link specification attribute schema
                  entity_nrn:
                    $ref: '#/components/schemas/def-2'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing link selectors
                description: Object representing link instances
                additionalProperties: false
                title: Link
                example:
                  name: my-link
                  service_id: 9548393c-f1d1-4bbc-97a6-c3968862f2a4
                  specification_id: 5a872c9a-9a16-4a6d-a000-d0e7404a15aa
                  entity_nrn: organization=1:account=1:namespace=1:application=1
                  dimensions:
                    environment: production
                  attributes:
                    my_link_attribute: my_value
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /link/{linkId}/action:
    get:
      operationId: link_action:list
      summary: List link actions
      tags:
        - Action
      description: List link actions
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: include_messages
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            type: string
            enum:
              - pending_create
              - pending
              - in_progress
              - success
              - failed
              - cancelled
          in: query
          name: status
          required: false
          description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
        - schema:
            type: string
          in: path
          name: linkId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: ActionList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-45'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: link_action:create
      summary: Create a link action
      tags:
        - Action
      description: Create a link action
      requestBody:
        content:
          application/json:
            schema:
              title: Action
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                specification_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the specification associated with the entity
                desired_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                  description: Desired unique identifier for the associated specification
                messages:
                  $ref: '#/components/schemas/def-5'
                  description: Object representing instance messages with severity levels
                parameters:
                  default: {}
                  type: object
                  description: Parameters associated with the action
                results:
                  default: {}
                  type: object
                  description: Results produced by the action
                isTest:
                  type: boolean
                  default: false
                status:
                  type: string
                  enum:
                    - pending_create
                    - pending
                    - in_progress
                    - success
                    - failed
                    - cancelled
                  description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                service_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the associated service
                link_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the associated link
              description: Object representing instances
              type: object
              additionalProperties: false
              required:
                - specification_id
              anyOf:
                - required:
                    - service_id
                  not:
                    required:
                      - link_id
                - required:
                    - link_id
                  not:
                    required:
                      - service_id
                - not:
                    required:
                      - service_id
                      - link_id
        required: true
        description: Object representing instances
      security:
        - bearerAuth: []
      parameters:
        - schema:
            type: string
          in: path
          name: linkId
          required: true
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /link/{linkId}/action/{id}:
    get:
      operationId: link_action:read
      summary: Read a link action
      tags:
        - Action
      description: Read a link action
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: linkId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: link_action:update
      summary: Update a link action
      tags:
        - Action
      description: Updates a link action
      requestBody:
        content:
          application/json:
            schema:
              title: Action
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                desired_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                  description: Desired unique identifier for the associated specification
                messages:
                  $ref: '#/components/schemas/def-5'
                  description: Object representing instance messages with severity levels
                status:
                  type: string
                  enum:
                    - pending_create
                    - pending
                    - in_progress
                    - success
                    - failed
                    - cancelled
                  description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                parameters:
                  type: object
                  description: Parameters associated with the action
                results:
                  type: object
                  description: Results produced by the action
              description: Object representing instances
              type: object
              additionalProperties: false
        description: Object representing instances
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: linkId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: link_action:delete
      summary: Delete a link action
      tags:
        - Action
      description: Delete a link action
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: linkId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /link_specification:
    get:
      operationId: link_specification:list
      summary: List specifications
      tags:
        - Link
      description: List specifications
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: LinkSpecificationList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-27'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: link_specification:create
      summary: Create a specification
      tags:
        - Link
      description: Create a specification
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                dimensions:
                  default: {}
                  $ref: '#/components/schemas/def-9'
                assignable_to:
                  default: any
                  type: string
                  enum:
                    - any
                    - dimension
                    - scope
                  description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                attributes:
                  default: {}
                  $ref: '#/components/schemas/def-7'
                selectors:
                  default: {}
                  $ref: '#/components/schemas/def-6'
                  description: Key-value object representing link specification selectors
                use_default_actions:
                  default: false
                  type: boolean
                  description: Specifies if the link specification should use default actions. Default is false
                visible_to:
                  $ref: '#/components/schemas/def-4'
                  description: Array representing visibility settings for the link specification. Specifies what/who can create a link based on this specification
                  default: []
                unique:
                  type: boolean
                  description: Indicates whether the service can be linked only once by an instance of this link specification
                specification_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the associated service specification
              description: Object representing link specifications
              additionalProperties: false
              title: LinkSpecification
              example:
                name: my-link-specification
                specification_id: eb0b880a-b7e4-42b8-98f9-40c262c59a23
                unique: true
                dimensions:
                  environment:
                    required: true
                    values:
                      - production
                      - staging
                assignable_to: any
                attributes:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
              required:
                - name
                - unique
                - specification_id
        required: true
        description: Object representing link specifications
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing link specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  visible_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the link specification. Specifies what/who can create a link based on this specification
                    default: []
                  unique:
                    type: boolean
                    description: Indicates whether the service can be linked only once by an instance of this link specification
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service specification
                  dimensions:
                    $ref: '#/components/schemas/def-9'
                  assignable_to:
                    type: string
                    enum:
                      - any
                      - dimension
                      - scope
                    description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                  attributes:
                    $ref: '#/components/schemas/def-7'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing link specification selectors
                  use_default_actions:
                    type: boolean
                    description: Specifies if the link specification should use default actions. Default is false
                description: Object representing link specifications
                additionalProperties: false
                title: LinkSpecification
                example:
                  name: my-link-specification
                  specification_id: eb0b880a-b7e4-42b8-98f9-40c262c59a23
                  unique: true
                  dimensions:
                    environment:
                      required: true
                      values:
                        - production
                        - staging
                  assignable_to: any
                  attributes:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /link_specification/{id}:
    get:
      operationId: link_specification:read
      summary: Read a specification
      tags:
        - Link
      description: Read a specification
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing link specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  visible_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the link specification. Specifies what/who can create a link based on this specification
                    default: []
                  unique:
                    type: boolean
                    description: Indicates whether the service can be linked only once by an instance of this link specification
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service specification
                  dimensions:
                    $ref: '#/components/schemas/def-9'
                  assignable_to:
                    type: string
                    enum:
                      - any
                      - dimension
                      - scope
                    description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                  attributes:
                    $ref: '#/components/schemas/def-7'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing link specification selectors
                  use_default_actions:
                    type: boolean
                    description: Specifies if the link specification should use default actions. Default is false
                description: Object representing link specifications
                additionalProperties: false
                title: LinkSpecification
                example:
                  name: my-link-specification
                  specification_id: eb0b880a-b7e4-42b8-98f9-40c262c59a23
                  unique: true
                  dimensions:
                    environment:
                      required: true
                      values:
                        - production
                        - staging
                  assignable_to: any
                  attributes:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: link_specification:update
      summary: Update a link specification
      tags:
        - Link
      description: Updates a link specification
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                unique:
                  type: boolean
                  description: Indicates whether the service can be linked only once by an instance of this link specification
                attributes:
                  $ref: '#/components/schemas/def-7'
                selectors:
                  $ref: '#/components/schemas/def-6'
                  description: Key-value object representing link specification selectors
                dimensions:
                  $ref: '#/components/schemas/def-9'
                assignable_to:
                  type: string
                  enum:
                    - any
                    - dimension
                    - scope
                  description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                use_default_actions:
                  type: boolean
                  description: Specifies if the link specification should use default actions. Default is false
                visible_to:
                  $ref: '#/components/schemas/def-4'
                  description: Array representing visibility settings for the link specification. Specifies what/who can create a link based on this specification
                  default: []
              description: Object representing link specifications
              additionalProperties: false
              title: LinkSpecification
              example:
                name: my-link-specification
                specification_id: eb0b880a-b7e4-42b8-98f9-40c262c59a23
                unique: true
                dimensions:
                  environment:
                    required: true
                    values:
                      - production
                      - staging
                assignable_to: any
                attributes:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
        description: Object representing link specifications
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing link specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  visible_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the link specification. Specifies what/who can create a link based on this specification
                    default: []
                  unique:
                    type: boolean
                    description: Indicates whether the service can be linked only once by an instance of this link specification
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service specification
                  dimensions:
                    $ref: '#/components/schemas/def-9'
                  assignable_to:
                    type: string
                    enum:
                      - any
                      - dimension
                      - scope
                    description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                  attributes:
                    $ref: '#/components/schemas/def-7'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing link specification selectors
                  use_default_actions:
                    type: boolean
                    description: Specifies if the link specification should use default actions. Default is false
                description: Object representing link specifications
                additionalProperties: false
                title: LinkSpecification
                example:
                  name: my-link-specification
                  specification_id: eb0b880a-b7e4-42b8-98f9-40c262c59a23
                  unique: true
                  dimensions:
                    environment:
                      required: true
                      values:
                        - production
                        - staging
                  assignable_to: any
                  attributes:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: link_specification:delete
      summary: Delete a specification
      tags:
        - Link
      description: Delete a specification
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing link specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  visible_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the link specification. Specifies what/who can create a link based on this specification
                    default: []
                  unique:
                    type: boolean
                    description: Indicates whether the service can be linked only once by an instance of this link specification
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service specification
                  dimensions:
                    $ref: '#/components/schemas/def-9'
                  assignable_to:
                    type: string
                    enum:
                      - any
                      - dimension
                      - scope
                    description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                  attributes:
                    $ref: '#/components/schemas/def-7'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing link specification selectors
                  use_default_actions:
                    type: boolean
                    description: Specifies if the link specification should use default actions. Default is false
                description: Object representing link specifications
                additionalProperties: false
                title: LinkSpecification
                example:
                  name: my-link-specification
                  specification_id: eb0b880a-b7e4-42b8-98f9-40c262c59a23
                  unique: true
                  dimensions:
                    environment:
                      required: true
                      values:
                        - production
                        - staging
                  assignable_to: any
                  attributes:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /link_specification/{linkSpecificationId}/action_specification:
    get:
      operationId: link_specification_action:list
      summary: List link specification actions
      tags:
        - Action
      description: List link specification actions
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: service_specification_id
          required: false
          description: Unique identifier for the associated service specification
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: link_specification_id
          required: false
          description: Unique identifier for the associated link specification
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: service_id
          required: false
          description: Service id identifier for dynamic additional properties
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: link_id
          required: false
          description: Link id identifier for dynamic additional properties
        - schema:
            anyOf:
              - type: 'null'
              - type: integer
          in: query
          name: application_id
          required: false
          description: Application id identifier for dynamic additional properties
        - schema:
            type: string
          in: path
          name: linkSpecificationId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: ActionSpecificationList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-39'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: link_specification_action:create
      summary: Create a link specification action
      tags:
        - Action
      description: Create a link specification action
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                parameters:
                  default: {}
                  $ref: '#/components/schemas/def-7'
                  description: Parameters associated with the action
                results:
                  default: {}
                  $ref: '#/components/schemas/def-7'
                  description: Results expected from the action
                retryable:
                  default: false
                  type: boolean
                  description: Indicates whether the action can be retried if the instance is in a failed state.
                type:
                  type: string
                  enum:
                    - create
                    - update
                    - delete
                    - custom
                  description: Type of the action. Should be one of the specified values in the ActionType enumeration
                service_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                    - type: string
                      pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  description: Unique identifier for the associated service specification
                link_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                    - type: string
                      pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  description: Unique identifier for the associated link specification
                annotations:
                  $ref: '#/components/schemas/def-10'
                  description: Annotations associated with the action
                enabled_when:
                  type: string
                  default: ''
                  description: Condition for the action to be able to be ran
                icon:
                  type: string
                  pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                  description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                enabled:
                  type: boolean
                  description: Indicates if the action is enabled depending on enabled_when
              description: Object representing action specifications
              additionalProperties: false
              title: ActionSpecification
              example:
                name: my-link-specification
                type: custom
                parameters:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
                results:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
                service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                retryable: true
                enabled_when: .service.dimensions.environment == "development"
                annotations:
                  runs_over: scope
                  show_on:
                    - scope
                    - performance
              required:
                - name
              anyOf:
                - required:
                    - service_specification_id
                  not:
                    required:
                      - link_specification_id
                - required:
                    - link_specification_id
                  not:
                    required:
                      - service_specification_id
                - not:
                    required:
                      - service_specification_id
                      - link_specification_id
        required: true
        description: Object representing action specifications
      security:
        - bearerAuth: []
      parameters:
        - schema:
            type: string
          in: path
          name: linkSpecificationId
          required: true
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /link_specification/{linkSpecificationId}/action_specification/{id}:
    get:
      operationId: link_specification_action:read
      summary: Read a link specification action
      tags:
        - Action
      description: Read a link specification action
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: linkSpecificationId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: link_specification_action:update
      summary: Update a link specification action
      tags:
        - Action
      description: Updates a link specification action
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                parameters:
                  $ref: '#/components/schemas/def-7'
                  description: Parameters associated with the action
                results:
                  $ref: '#/components/schemas/def-7'
                  description: Results expected from the action
                retryable:
                  type: boolean
                  default: false
                  description: Indicates whether the action can be retried if the instance is in a failed state.
              description: Object representing action specifications
              additionalProperties: false
              title: ActionSpecification
              example:
                name: my-link-specification
                type: custom
                parameters:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
                results:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
                service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                retryable: true
                enabled_when: .service.dimensions.environment == "development"
                annotations:
                  runs_over: scope
                  show_on:
                    - scope
                    - performance
        description: Object representing action specifications
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: linkSpecificationId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: link_specification_action:delete
      summary: Delete a link specification action
      tags:
        - Action
      description: Delete a link specification action
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: linkSpecificationId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /metadata/{entity}/{id}:
    post:
      operationId: metadata_multiple_entries:create
      summary: Create metadata entries for an entity
      tags:
        - Metadata
      description: Creates multiple metadata entries for a given entity in the catalog in a single request.<br/>A corresponding catalog specification must already exist for each <strong>metadata</strong> key; refer to the catalog definitions to verify available keys.
      requestBody:
        content:
          application/json:
            schema:
              title: Metadata
              oneOf:
                - type: array
                  items: {}
                - type: boolean
                - type: integer
                - type: 'null'
                - type: number
                - type: object
                - type: string
              description: Object representing a metadata entry for an entity in the catalog.
              example:
                my_string_property: hello
                my_number_property: 41
        description: Object representing a metadata entry for an entity in the catalog.
      parameters:
        - schema:
            type: string
            pattern: ^[a-z]+(_[a-z]+)*$
            enum:
              - organization
              - account
              - namespace
              - application
              - build
              - asset
              - scope
              - release
              - deployment
              - user
          in: path
          name: entity
          required: true
          description: Entity name that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[0-9]+$
          in: path
          name: id
          required: true
          description: Entity ID that holds metadata information.
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a metadata entry for an entity in the catalog.
          content:
            application/json:
              schema:
                title: Metadata
                oneOf:
                  - type: array
                    items: {}
                  - type: boolean
                  - type: integer
                  - type: 'null'
                  - type: number
                  - type: object
                  - type: string
                description: Object representing a metadata entry for an entity in the catalog.
                example:
                  my_string_property: hello
                  my_number_property: 41
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    get:
      operationId: metadata_all_entries:read
      summary: Read all metadata entries from an entity
      tags:
        - Metadata
      description: Reads all metadata entries associated with an entity in the catalog.<br/>A corresponding catalog specification must already exist for each <strong>metadata</strong> key; refer to the catalog definitions to verify available keys.
      parameters:
        - schema:
            type: string
            minLength: 1
          in: query
          name: include
          required: false
          description: 'Add additional metadata information to the response. For example: schemas, tags.'
        - schema:
            type: string
            pattern: ^[a-z]+(_[a-z]+)*$
            enum:
              - organization
              - account
              - namespace
              - application
              - build
              - asset
              - scope
              - release
              - deployment
              - user
          in: path
          name: entity
          required: true
          description: Entity name that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[0-9]+$
          in: path
          name: id
          required: true
          description: Entity ID that holds metadata information.
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a metadata entry for an entity in the catalog.
          content:
            application/json:
              schema:
                title: Metadata
                type: object
                description: Object representing a metadata entry for an entity in the catalog.
                example:
                  my_string_property: hello
                  my_number_property: 41
                properties:
                  additional_properties:
                    type: object
                    properties:
                      entity:
                        type: string
                        pattern: ^[a-z]+(_[a-z]+)*$
                        description: Entity name that holds metadata information.
                        enum:
                          - organization
                          - account
                          - namespace
                          - application
                          - build
                          - asset
                          - scope
                          - release
                          - deployment
                          - user
                      id:
                        type: string
                        minLength: 1
                        pattern: ^[0-9]+$
                        description: Entity ID that holds metadata information.
                      nrn:
                        $ref: '#/components/schemas/schemas-def-2'
                        description: NRN where the catalog specification is defined.
                      schemas:
                        type: object
                        description: References the metadata schemas against which the existing data is validated.
                      tags:
                        $ref: '#/components/schemas/schemas-def-4'
                        description: References the metadata schemas against which the existing data is validated.
                    additionalProperties: false
                    required:
                      - entity
                      - id
                      - nrn
                required:
                  - additional_properties
                additionalProperties: true
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: metadata_multiple_entries:update
      summary: Update metadata entries from an entity
      tags:
        - Metadata
      description: Updates multiple metadata entries from an entity in the catalog.<br/>A corresponding catalog specification must already exist for each <strong>metadata</strong> key; refer to the catalog definitions to verify available keys.
      requestBody:
        content:
          application/json:
            schema:
              title: Metadata
              oneOf:
                - type: array
                  items: {}
                - type: boolean
                - type: integer
                - type: 'null'
                - type: number
                - type: object
                - type: string
              description: Object representing a metadata entry for an entity in the catalog.
              example:
                my_string_property: hello
                my_number_property: 41
        description: Object representing a metadata entry for an entity in the catalog.
      parameters:
        - schema:
            type: string
            pattern: ^[a-z]+(_[a-z]+)*$
            enum:
              - organization
              - account
              - namespace
              - application
              - build
              - asset
              - scope
              - release
              - deployment
              - user
          in: path
          name: entity
          required: true
          description: Entity name that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[0-9]+$
          in: path
          name: id
          required: true
          description: Entity ID that holds metadata information.
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a metadata entry for an entity in the catalog.
          content:
            application/json:
              schema:
                title: Metadata
                oneOf:
                  - type: array
                    items: {}
                  - type: boolean
                  - type: integer
                  - type: 'null'
                  - type: number
                  - type: object
                  - type: string
                description: Object representing a metadata entry for an entity in the catalog.
                example:
                  my_string_property: hello
                  my_number_property: 41
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /metadata/{entity}/{id}/{metadata}:
    post:
      operationId: metadata_single_entry:create
      summary: Create a metadata entry for an entity
      tags:
        - Metadata
      description: Creates a single metadata entry for an entity in the catalog.<br/>A corresponding catalog specification must already exist for each <strong>metadata</strong> key; refer to the catalog definitions to verify available keys.
      requestBody:
        content:
          application/json:
            schema:
              title: Metadata
              oneOf:
                - type: array
                  items: {}
                - type: boolean
                - type: integer
                - type: 'null'
                - type: number
                - type: object
                - type: string
              description: Object representing a metadata entry for an entity in the catalog.
              example:
                my_string_property: hello
                my_number_property: 41
        description: Object representing a metadata entry for an entity in the catalog.
      parameters:
        - schema:
            type: string
            pattern: ^[a-z]+(_[a-z]+)*$
            enum:
              - organization
              - account
              - namespace
              - application
              - build
              - asset
              - scope
              - release
              - deployment
              - user
          in: path
          name: entity
          required: true
          description: Entity name that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[0-9]+$
          in: path
          name: id
          required: true
          description: Entity ID that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[a-z]+(_[a-z]+)*$
          in: path
          name: metadata
          required: true
          description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a metadata entry for an entity in the catalog.
          content:
            application/json:
              schema:
                title: Metadata
                oneOf:
                  - type: array
                    items: {}
                  - type: boolean
                  - type: integer
                  - type: 'null'
                  - type: number
                  - type: object
                  - type: string
                description: Object representing a metadata entry for an entity in the catalog.
                example:
                  my_string_property: hello
                  my_number_property: 41
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    get:
      operationId: metadata_single_entry:read
      summary: Read a metadata entry from an entity
      tags:
        - Metadata
      description: Reads a single metadata entry from an entity in the catalog.<br/>A corresponding catalog specification must already exist for each <strong>metadata</strong> key; refer to the catalog definitions to verify available keys.
      parameters:
        - schema:
            type: string
            pattern: ^[a-z]+(_[a-z]+)*$
            enum:
              - organization
              - account
              - namespace
              - application
              - build
              - asset
              - scope
              - release
              - deployment
              - user
          in: path
          name: entity
          required: true
          description: Entity name that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[0-9]+$
          in: path
          name: id
          required: true
          description: Entity ID that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[a-z]+(_[a-z]+)*$
          in: path
          name: metadata
          required: true
          description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a metadata entry for an entity in the catalog.
          content:
            application/json:
              schema:
                title: Metadata
                oneOf:
                  - type: array
                    items: {}
                  - type: boolean
                  - type: integer
                  - type: 'null'
                  - type: number
                  - type: object
                  - type: string
                description: Object representing a metadata entry for an entity in the catalog.
                example:
                  my_string_property: hello
                  my_number_property: 41
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: metadata_single_entry:update
      summary: Updates a metadata entry from an entity
      tags:
        - Metadata
      description: Updates a single metadata entry from an entity in the catalog.<br/>A corresponding catalog specification must already exist for each <strong>metadata</strong> key; refer to the catalog definitions to verify available keys.
      requestBody:
        content:
          application/json:
            schema:
              title: Metadata
              oneOf:
                - type: array
                  items: {}
                - type: boolean
                - type: integer
                - type: 'null'
                - type: number
                - type: object
                - type: string
              description: Object representing a metadata entry for an entity in the catalog.
              example:
                my_string_property: hello
                my_number_property: 41
        description: Object representing a metadata entry for an entity in the catalog.
      parameters:
        - schema:
            type: string
            pattern: ^[a-z]+(_[a-z]+)*$
            enum:
              - organization
              - account
              - namespace
              - application
              - build
              - asset
              - scope
              - release
              - deployment
              - user
          in: path
          name: entity
          required: true
          description: Entity name that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[0-9]+$
          in: path
          name: id
          required: true
          description: Entity ID that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[a-z]+(_[a-z]+)*$
          in: path
          name: metadata
          required: true
          description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a metadata entry for an entity in the catalog.
          content:
            application/json:
              schema:
                title: Metadata
                oneOf:
                  - type: array
                    items: {}
                  - type: boolean
                  - type: integer
                  - type: 'null'
                  - type: number
                  - type: object
                  - type: string
                description: Object representing a metadata entry for an entity in the catalog.
                example:
                  my_string_property: hello
                  my_number_property: 41
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: metadata_single_entry:delete
      summary: Delete a metadata entry from an entity
      tags:
        - Metadata
      description: Deletes a single metadata entry from an entity in the catalog.<br/>A corresponding catalog specification must already exist for each <strong>metadata</strong> key; refer to the catalog definitions to verify available keys.
      parameters:
        - schema:
            type: string
            pattern: ^[a-z]+(_[a-z]+)*$
            enum:
              - organization
              - account
              - namespace
              - application
              - build
              - asset
              - scope
              - release
              - deployment
              - user
          in: path
          name: entity
          required: true
          description: Entity name that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[0-9]+$
          in: path
          name: id
          required: true
          description: Entity ID that holds metadata information.
        - schema:
            type: string
            minLength: 1
            pattern: ^[a-z]+(_[a-z]+)*$
          in: path
          name: metadata
          required: true
          description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a metadata entry for an entity in the catalog.
          content:
            application/json:
              schema:
                title: Metadata
                oneOf:
                  - type: array
                    items: {}
                  - type: boolean
                  - type: integer
                  - type: 'null'
                  - type: number
                  - type: object
                  - type: string
                description: Object representing a metadata entry for an entity in the catalog.
                example:
                  my_string_property: hello
                  my_number_property: 41
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /metadata/metadata_specification:
    get:
      operationId: catalog_specification:list
      summary: List catalog specifications
      tags:
        - Catalog specification
      description: Lists all catalog specifications.
      parameters:
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page.
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: The starting point for pagination. Defaults to 0 if not provided.
        - schema:
            type: string
            enum:
              - organization
              - account
              - namespace
              - application
              - build
              - asset
              - scope
              - release
              - deployment
              - user
          in: query
          name: entity
          required: false
          description: Parent entity that holds metadata information.
        - schema:
            type: string
            minLength: 1
          in: query
          name: metadata
          required: false
          description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
        - schema:
            $ref: '#/components/schemas/schemas-def-2'
          in: query
          name: nrn
          required: true
          description: NRN where the catalog specification is defined.
        - schema:
            type: string
            minLength: 1
          in: query
          name: include
          required: false
          description: 'Add additional catalog specifications to the response. For example: global.'
        - schema:
            type: boolean
          in: query
          name: merge
          required: false
          description: Merge catalog specifications using NRN hierarchy.
        - schema:
            type: string
            minLength: 1
          in: query
          name: only
          required: false
          description: Return only catalog specifications that match the provided entity.
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: ServiceList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      type: object
                      description: List of objects representing individual results
                      $ref: '#/components/schemas/def-17'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: catalog_specification:create
      summary: Create a catalog specification
      tags:
        - Catalog specification
      description: Creates a catalog specification for an entity.
      requestBody:
        content:
          application/json:
            schema:
              title: MetadataSpecification
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  description: 'Catalog specification name, for example: Build Coverage, Application Frameworks, Build Vulnerabilities.'
                nrn:
                  $ref: '#/components/schemas/schemas-def-2'
                  description: NRN where the catalog specification is defined.
                entity:
                  type: string
                  description: Parent entity that holds metadata information.
                  enum:
                    - organization
                    - account
                    - namespace
                    - application
                    - build
                    - asset
                    - scope
                    - release
                    - deployment
                    - user
                metadata:
                  type: string
                  nullable: true
                  minLength: 1
                  description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
                description:
                  type: string
                  minLength: 1
                  description: Catalog specification description.
                schema:
                  type: object
                  default: {}
                  description: Catalog specification schema. Must be a valid JSON Schema.
              description: Object representing a catalog specification for a nullplatform entity
              example:
                name: Namespace tags
                description: Add tags as key-value object to namespace entities
                nrn: organization=1
                entity: namespace
                metadata: tags
                schema:
                  type: object
                  properties:
                    my_string_property:
                      type: string
                      tag: true
                    my_number_property:
                      type: number
                      default: 0
                      tag: my_custom_tag_name
                    my_object_property:
                      type: object
                      properties:
                        my_nested_property:
                          type: string
                  required:
                    - my_string_property
                  additionalProperties: false
              required:
                - name
                - nrn
                - entity
                - metadata
                - schema
        required: true
        description: Object representing a catalog specification for a nullplatform entity
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a catalog specification for a nullplatform entity
          content:
            application/json:
              schema:
                title: MetadataSpecification
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/schemas-def-1'
                  name:
                    type: string
                    minLength: 1
                    description: 'Catalog specification name, for example: Build Coverage, Application Frameworks, Build Vulnerabilities.'
                  nrn:
                    $ref: '#/components/schemas/schemas-def-2'
                    description: NRN where the catalog specification is defined.
                  entity:
                    type: string
                    description: Parent entity that holds metadata information.
                    enum:
                      - organization
                      - account
                      - namespace
                      - application
                      - build
                      - asset
                      - scope
                      - release
                      - deployment
                      - user
                  metadata:
                    type: string
                    nullable: true
                    minLength: 1
                    description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
                  description:
                    type: string
                    minLength: 1
                    description: Catalog specification description.
                  schema:
                    type: object
                    default: {}
                    description: Catalog specification schema. Must be a valid JSON Schema.
                description: Object representing a catalog specification for a nullplatform entity
                example:
                  id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  name: Namespace tags
                  description: Add tags as key-value object to namespace entities
                  nrn: organization=1
                  entity: namespace
                  metadata: tags
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                        tag: true
                      my_number_property:
                        type: number
                        default: 0
                        tag: my_custom_tag_name
                      my_object_property:
                        type: object
                        properties:
                          my_nested_property:
                            type: string
                    required:
                      - my_string_property
                    additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /metadata/metadata_specification/{id}:
    get:
      operationId: catalog_specification:read
      summary: Read a catalog specification
      tags:
        - Catalog specification
      description: Reads a catalog specification for an entity.
      parameters:
        - schema:
            $ref: '#/components/schemas/schemas-def-1'
          in: path
          name: id
          required: true
          description: Unique ID for the catalog specification.
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a catalog specification for a nullplatform entity
          content:
            application/json:
              schema:
                title: MetadataSpecification
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/schemas-def-1'
                  name:
                    type: string
                    minLength: 1
                    description: 'Catalog specification name, for example: Build Coverage, Application Frameworks, Build Vulnerabilities.'
                  nrn:
                    $ref: '#/components/schemas/schemas-def-2'
                    description: NRN where the catalog specification is defined.
                  entity:
                    type: string
                    description: Parent entity that holds metadata information.
                    enum:
                      - organization
                      - account
                      - namespace
                      - application
                      - build
                      - asset
                      - scope
                      - release
                      - deployment
                      - user
                  metadata:
                    type: string
                    nullable: true
                    minLength: 1
                    description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
                  description:
                    type: string
                    minLength: 1
                    description: Catalog specification description.
                  schema:
                    type: object
                    default: {}
                    description: Catalog specification schema. Must be a valid JSON Schema.
                description: Object representing a catalog specification for a nullplatform entity
                example:
                  id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  name: Namespace tags
                  description: Add tags as key-value object to namespace entities
                  nrn: organization=1
                  entity: namespace
                  metadata: tags
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                        tag: true
                      my_number_property:
                        type: number
                        default: 0
                        tag: my_custom_tag_name
                      my_object_property:
                        type: object
                        properties:
                          my_nested_property:
                            type: string
                    required:
                      - my_string_property
                    additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: catalog_specification:update
      summary: Update a catalog specification
      tags:
        - Catalog specification
      description: Updates a catalog specification.
      requestBody:
        content:
          application/json:
            schema:
              title: MetadataSpecification
              type: object
              properties:
                schema:
                  type: object
                  default: {}
                  description: Catalog specification schema. Must be a valid JSON Schema.
                name:
                  type: string
                  minLength: 1
                  description: 'Catalog specification name, for example: Build Coverage, Application Frameworks, Build Vulnerabilities.'
                description:
                  type: string
                  minLength: 1
                  description: Catalog specification description.
              description: Object representing a catalog specification for a nullplatform entity
              example:
                name: Namespace tags
                description: Add tags as key-value object to namespace entities
                nrn: organization=1
                entity: namespace
                metadata: tags
                schema:
                  type: object
                  properties:
                    my_string_property:
                      type: string
                      tag: true
                    my_number_property:
                      type: number
                      default: 0
                      tag: my_custom_tag_name
                    my_object_property:
                      type: object
                      properties:
                        my_nested_property:
                          type: string
                  required:
                    - my_string_property
                  additionalProperties: false
        description: Object representing a catalog specification for a nullplatform entity
      parameters:
        - schema:
            $ref: '#/components/schemas/schemas-def-1'
          in: path
          name: id
          required: true
          description: Unique ID for the catalog specification.
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a catalog specification for a nullplatform entity
          content:
            application/json:
              schema:
                title: MetadataSpecification
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/schemas-def-1'
                  name:
                    type: string
                    minLength: 1
                    description: 'Catalog specification name, for example: Build Coverage, Application Frameworks, Build Vulnerabilities.'
                  nrn:
                    $ref: '#/components/schemas/schemas-def-2'
                    description: NRN where the catalog specification is defined.
                  entity:
                    type: string
                    description: Parent entity that holds metadata information.
                    enum:
                      - organization
                      - account
                      - namespace
                      - application
                      - build
                      - asset
                      - scope
                      - release
                      - deployment
                      - user
                  metadata:
                    type: string
                    nullable: true
                    minLength: 1
                    description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
                  description:
                    type: string
                    minLength: 1
                    description: Catalog specification description.
                  schema:
                    type: object
                    default: {}
                    description: Catalog specification schema. Must be a valid JSON Schema.
                description: Object representing a catalog specification for a nullplatform entity
                example:
                  id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  name: Namespace tags
                  description: Add tags as key-value object to namespace entities
                  nrn: organization=1
                  entity: namespace
                  metadata: tags
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                        tag: true
                      my_number_property:
                        type: number
                        default: 0
                        tag: my_custom_tag_name
                      my_object_property:
                        type: object
                        properties:
                          my_nested_property:
                            type: string
                    required:
                      - my_string_property
                    additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: catalog_specification:delete
      summary: Delete a catalog specification
      tags:
        - Catalog specification
      description: Deletes a catalog specification.
      parameters:
        - schema:
            $ref: '#/components/schemas/schemas-def-1'
          in: path
          name: id
          required: true
          description: Unique ID for the catalog specification.
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a catalog specification for a nullplatform entity
          content:
            application/json:
              schema:
                title: MetadataSpecification
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/schemas-def-1'
                  name:
                    type: string
                    minLength: 1
                    description: 'Catalog specification name, for example: Build Coverage, Application Frameworks, Build Vulnerabilities.'
                  nrn:
                    $ref: '#/components/schemas/schemas-def-2'
                    description: NRN where the catalog specification is defined.
                  entity:
                    type: string
                    description: Parent entity that holds metadata information.
                    enum:
                      - organization
                      - account
                      - namespace
                      - application
                      - build
                      - asset
                      - scope
                      - release
                      - deployment
                      - user
                  metadata:
                    type: string
                    nullable: true
                    minLength: 1
                    description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
                  description:
                    type: string
                    minLength: 1
                    description: Catalog specification description.
                  schema:
                    type: object
                    default: {}
                    description: Catalog specification schema. Must be a valid JSON Schema.
                description: Object representing a catalog specification for a nullplatform entity
                example:
                  id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  name: Namespace tags
                  description: Add tags as key-value object to namespace entities
                  nrn: organization=1
                  entity: namespace
                  metadata: tags
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                        tag: true
                      my_number_property:
                        type: number
                        default: 0
                        tag: my_custom_tag_name
                      my_object_property:
                        type: object
                        properties:
                          my_nested_property:
                            type: string
                    required:
                      - my_string_property
                    additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /namespace:
    get:
      description: List namespaces within an account.
      tags:
        - Namespace
      summary: List namespaces
      operationId: namespace:list
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          name: account_id
          schema:
            type: string
          required: true
          description: Filters namespaces by account. Supports up to 10 comma-separated values.
          example: 123, 345
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-accountListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a namespace
      description: Create a new namespace in an existing account.
      operationId: namespace:create
      tags:
        - Namespace
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/namespaceCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/namespace'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /namespace/{id}:
    get:
      summary: Read a namespace
      description: Read a specific namespace by ID.
      operationId: namespace:read
      tags:
        - Namespace
      parameters:
        - $ref: '#/components/parameters/metadataIncludes'
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the namespace.
          example: 2345
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/namespace'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a namespace
      description: Updates information for a namespace.
      operationId: namespace:update
      tags:
        - Namespace
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the namespace.
          example: 2345
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/namespace_write'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/namespace'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /notification/channel:
    get:
      summary: List notification channels
      description: List notification channels by NRN.
      operationId: notification_channel:list
      tags:
        - Notifications
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: nrn
          schema:
            type: string
          required: true
          description: The NRN of the resource (including children resources) where the action will apply, such as organization, account, namespace, application, and scope.
          example: organization=1:account=2:namespace=4:application=4:scope=5
        - in: query
          name: type
          required: false
          description: The type of notification channel.
          schema:
            type: string
            enum:
              - slack
              - http
              - github
              - gitlab
              - azure
              - agent
          example: slack
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelList'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a notification channel
      description: Create a new notification channel.
      operationId: notification_channel:create
      tags:
        - Notifications
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notificationChannelCreate'
            examples:
              slack:
                value:
                  nrn: organization=1:account=2:namespace=3:application=4
                  source:
                    - approval
                  type: slack
                  configuration:
                    token: the-slack-token
                    channels:
                      - my-organization-private-channel
                  filters:
                    action: deployment:create
              http:
                value:
                  nrn: organization=1:account=2:namespace=3:application=4
                  source:
                    - approval
                  type: http
                  configuration:
                    url: https://yourdomain.com/url-you-configured
                    headers:
                      Authorization: Bearer the-token
                  filters:
                    action: deployment:create
              github:
                value:
                  nrn: organization=1:account=2:namespace=3:application=4
                  source:
                    - service
                  type: github
                  configuration:
                    installation_id: my-installation-id
                    account: my-github-org
                    repository: services-opentofu
                    reference: main
                    workflow_id: provisioning.yml
                  filters:
                    action: deployment:create
              gitlab:
                value:
                  nrn: organization=1:account=2:namespace=3:application=4
                  source:
                    - service
                  type: gitlab
                  configuration:
                    reference: main
                    project_id: '1234'
                  filters:
                    action: deployment:create
              azure:
                value:
                  nrn: organization=1:account=2:namespace=3:application=4
                  source:
                    - service
                  type: azure
                  configuration:
                    organization: my-azure-org
                    project: my-azure-project
                    pipeline_id: 1234
                    reference: main
                  filters:
                    action: deployment:create
              agent:
                value:
                  nrn: organization=1:account=2:namespace=3:application=4
                  source:
                    - service
                  type: agent
                  configuration:
                    api_key: AAAA.1234567890abcdef1234567890abcdefPTs=
                    command:
                      data:
                        cmdline: path-to-entrypoint-file/entrypoint --service-path="$SERVICE_PATH"
                        environment:
                          NP_ACTION_CONTEXT: '''${NOTIFICATION_CONTEXT}'
                      type: exec
                    selector:
                      environment: local
                  filters:
                    service.specification.slug: $service-spec-slug
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationChannel'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /notification/channel/{id}:
    get:
      summary: Read a notification channel
      description: Read a notification channel by its ID.
      operationId: notification_channel:read
      tags:
        - Notifications
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the notification channel to read.
          schema:
            type: string
          example: 123
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationChannel'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a notification channel
      description: Updates a notification channel.
      operationId: notification_channel:update
      tags:
        - Notifications
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the channel to update.
          schema:
            type: string
          example: '234'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notificationChannelWrite'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationChannel'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete a notification channel
      description: Delete a notification channel. This action cannot be undone.
      operationId: notification_channel:delete
      security:
        - bearerAuth: []
      tags:
        - Notifications
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the channel to delete.
          schema:
            type: string
          example: '234'
      responses:
        '204':
          description: The deletion was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /nrn:
    post:
      summary: Create an NRN
      description: |-
        Creates a new NRN or replaces an existing one. **This operation overwrites any previous value.**

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: nrn:create
      tags:
        - NRN
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NrnCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/nrn'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /nrn/{nrn}:
    get:
      summary: Read an NRN
      description: |-
        Read an NRN by ID.

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: nrn:read
      tags:
        - NRN
      parameters:
        - name: nrn
          in: path
          required: true
          description: The NRN to read.
          schema:
            type: string
          example: organization=1:account=2:namespace=3:application=4
        - in: query
          name: ids
          schema:
            type: string
          required: true
          description: |
            A comma-separated list of elements to retrieve, following the `${namespace}.${key}` convention.
            - The `namespace` can be omitted for the global namespace.
            - This convention also allows retrieving values inside profiles.
          example: https://..../nrn/organization=1?ids=aws.log_group_name,aws.lambdaFunctionName
        - in: query
          name: output_json_values
          schema:
            type: boolean
          required: false
          description: If true, the API parses the values and represents them as JSON objects.
          example: true
        - in: query
          name: no-merge
          schema:
            type: boolean
          required: false
          description: If true, results are not merged with parent nodes in the hierarchy.
          example: true
        - in: query
          name: array_merge_strategy
          schema:
            type: string
            enum:
              - merge
              - no_merge
            default: merge
          required: false
          description: Whether JSON arrays should be merged or overridden.
          example: merge
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/nrn'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a value within an NRN
      description: |-
        Updates a value within an NRN. If the NRN does not exist, it will be created.

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: nrn:update
      tags:
        - NRN
      parameters:
        - name: nrn
          in: path
          required: true
          description: The NRN to update.
          schema:
            type: string
          example: organization=1:account=2:namespace=3:application=4
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NrnWrite'
      security:
        - bearerAuth: []
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/nrn'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    put:
      summary: Replace an NRN
      description: |-
        Replaces an NRN. This operation overwrites any previous value.

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: nrn:write
      tags:
        - NRN
      parameters:
        - name: nrn
          in: path
          required: true
          description: The NRN to update.
          schema:
            type: string
          example: organization=1:account=2:namespace=3:application=4
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NrnCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/nrn'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete namespaces or profiles
      description: |-
        Removes all keys within a specified set of namespaces and/or profiles. By default, this endpoint acts on a single NRN entry and does not affect the entire hierarchy. Use the `include_parents` query parameter to modify this behavior.

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: nrn:delete
      parameters:
        - name: nrn
          in: path
          required: true
          description: The NRN to delete.
          schema:
            type: string
          example: organization=1:account=2:namespace=3:application=4
        - in: query
          name: namespaces
          schema:
            type: string
          required: false
          description: A comma-separated list of namespaces to be deleted.
          example: /nrn/organization=1:account=2?namespaces=something,anotherthing
        - in: query
          name: profiles
          schema:
            type: string
          required: false
          description: A comma-separated list of profiles to be deleted.
          example: /nrn/organization=1:account=2?profiles=development,testing
        - in: query
          name: include_parents
          schema:
            type: boolean
            default: false
          required: false
          description: |
            - If `false`, removes the namespace only on this node. 
            - If `true`, removes the namespace from the entire branch of the hierarchy.
          example: /nrn/organization=1:account=2?profiles=development,testing&include_parents=true
      tags:
        - NRN
      security:
        - bearerAuth: []
      responses:
        '204':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /organization/{id}:
    description: An organization is the top-level entity for customer accounts in nullplatform
    get:
      summary: Read an organization
      description: Reads a specific organization by ID.
      operationId: organization:read
      tags:
        - Organization
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the organization to read.
          schema:
            type: string
        - $ref: '#/components/parameters/metadataIncludes'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: An object representing the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update an organization
      description: Updates information for an organization.
      operationId: organization:update
      tags:
        - Organization
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the organization to update.
          schema:
            type: string
        - $ref: '#/components/parameters/metadataIncludes'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/organization_write'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: An object representing the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /parameter:
    get:
      summary: List parameters
      description: List parameters by NRN.
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - name: nrn
          in: query
          description: The NRN which the parameter belongs to.
          required: true
          schema:
            type: string
          example: organization=1:account=2:namespace=3:application=4
      operationId: parameter:list
      tags:
        - Parameter
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParameterList'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a parameter
      description: Create an application parameter.
      operationId: parameter:create
      tags:
        - Parameter
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/parameter_create_request'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/parameterResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /parameter/{id}:
    get:
      summary: Read a parameter
      description: Retrieve a parameter by ID.
      operationId: parameter:read
      parameters:
        - name: id
          in: path
          description: The ID of the parameter.
          required: true
          schema:
            type: string
          example: 123
        - name: show_secret_values
          in: query
          description: |
            Whether to show secret values in the response.<br><br>
            > ℹ️ **Note:** If set to `true`, secret values will be **visible only to users with the required permission**; otherwise, they will be hidden.
            > See [Accessing secret values](/docs/parameters/secret-visibility) for more details.
          schema:
            type: boolean
            default: 'false'
          example: 'true'
      tags:
        - Parameter
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/parameterResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a parameter
      description: Updates a field of a parameter. **Replacing a field **doesn't** affect the underlying parameter values.**
      parameters:
        - name: id
          in: path
          description: The ID of the parameter.
          required: true
          schema:
            type: string
      operationId: parameter:write
      tags:
        - Parameter
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/parameter_write_request'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/parameterResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete a parameter
      description: |-
        Delete a parameter along with all its values and versions.
        >
        > ⚠️ This action cannot be undone.
        >
      parameters:
        - name: id
          in: path
          description: The ID of the parameter to delete.
          required: true
          schema:
            type: string
          example: 123
      operationId: parameter:delete
      security:
        - bearerAuth: []
      tags:
        - Parameter
      responses:
        '204':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /parameter/{id}/value:
    post:
      summary: Create a single parameter value
      description: Create a value for a parameter, either for an application or a scope.
      parameters:
        - name: id
          in: path
          description: The ID of the parameter.
          required: true
          schema:
            type: string
          example: 123
      operationId: parameter_value:create
      tags:
        - Parameter
      x-nullplatform:
        array_response: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/parameter_value_create_request'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/parameter_value'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /parameter/{id}/values:
    post:
      summary: Create multiple parameter values
      description: Create multiple application or scope parameter values.
      x-nullplatform:
        array_response: true
      parameters:
        - name: id
          in: path
          description: The ID of the parameter.
          required: true
          schema:
            type: string
          example: 123
      operationId: parameter_values:create
      tags:
        - Parameter
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/parameter_values_multi_create_request'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/parameter_value'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /parameter/{id}/version:
    description: Application Parameter Versions
    get:
      summary: List parameter versions
      description: List all the available versions for a given parameter.
      parameters:
        - name: id
          in: path
          description: The ID of the parameter.
          required: true
          schema:
            type: string
          example: 123
      operationId: parameter_version:list
      tags:
        - Parameter
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/parameter_versions'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /parameter/{parameterId}/value/{id}:
    delete:
      summary: Delete a parameter value
      description: Deletes a specific parameter value.
      parameters:
        - name: parameterId
          in: path
          description: The ID of the parameter.
          required: true
          schema:
            type: string
          example: 123
        - name: id
          in: path
          description: The ID of the parameter value to delete.
          required: true
          schema:
            type: string
          example: 456
      operationId: parameter_value:delete
      tags:
        - Parameter
      responses:
        '204':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
      security:
        - bearerAuth: []
  /parameter/{parameterId}/values:
    delete:
      summary: Delete multiple parameter values
      description: Deletes multiple parameter values.
      parameters:
        - name: parameterId
          in: path
          description: The ID of the parameter.
          required: true
          schema:
            type: string
          example: '123'
        - name: ids
          in: query
          description: The IDs of the parameter values to delete.
          required: true
          schema:
            type: array
            items:
              type: string
          example:
            - '456'
            - '789'
      operationId: parameter_values:delete
      tags:
        - Parameter
      responses:
        '204':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
      security:
        - bearerAuth: []
  /provider:
    get:
      operationId: provider:list
      summary: List providers
      tags:
        - Provider
      description: Get a paginated list of providers filtered by [NRN](/docs/NRN) and other queries
      parameters:
        - schema:
            type: integer
            minimum: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: integer
            minimum: 0
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            $ref: '#/components/schemas/def-0'
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-3'
          in: query
          name: nrn
          required: true
        - schema:
            type: string
            example: 7f3c910e-8138-4d65-9d09-b97d89f2c509,82eee42c-46c9-4bb7-a53d-c08b027817f3
          in: query
          name: specification_id
          required: false
          description: Provider Specification ID to filter by, it supports comma separated values
        - schema:
            type: string
            example: aws-configuration,gitlab-configuration
          in: query
          name: specification_slug
          required: false
          description: Provider Specification slug to filter by, it supports comma separated values
        - schema:
            type: boolean
            default: false
          in: query
          name: show_descendants
          required: false
          description: Specifies whether to show entities defined in the lower level of the NRN hierarchy
        - schema:
            type: boolean
            default: false
          in: query
          name: show_ascendants
          required: false
          description: Specifies whether to show entities defined in the lower level of the NRN hierarchy
        - schema:
            type: array
            items:
              $ref: '#/components/schemas/def-0'
          in: query
          name: specification
          required: false
          description: List of provider specification IDs to filter by
        - schema:
            type: array
            items:
              type: string
              enum:
                - tags
                - groups
          in: query
          name: include
          required: false
          description: Attributes to include in the response
        - schema:
            type: string
          in: query
          name: dimensions
          required: false
          description: Dimensions for the provider
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Paginated list of providers
          content:
            application/json:
              schema:
                title: ProviderList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-16'
                required:
                  - paging
                  - results
                description: Paginated list of providers
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: provider:create
      summary: Create a provider
      tags:
        - Provider
      description: Creates a new provider. Note that [dependencies](/docs/providers/overview#provider-dependencies) may need to be met.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              title: ProviderCreate
              description: Object to create a new provider
              properties:
                nrn:
                  $ref: '#/components/schemas/def-3'
                specification_id:
                  $ref: '#/components/schemas/def-0'
                attributes:
                  type: object
                  description: Provider-specific attributes defined in the specification schema
                dimensions:
                  type: object
                  description: NRN-specific dimensions. [Read more](/docs/dimensions)
                tags:
                  type: array
                  description: Tags associated with the provider
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Tag key
                      value:
                        type: string
                        description: Tag value
                    required:
                      - key
                      - value
                    additionalProperties: false
              required:
                - nrn
                - specification_id
                - attributes
              example:
                nrn: organization=1:account=1:namespace=1
                dimensions:
                  enviroment: production
                specification_id: 02fd22f1-6bf9-41aa-9b58-29d50f725855
                attributes:
                  cluster:
                    id: my-np-gcp-prod
                    location: s-west1
                    namespace: my-namespace
                  gateway:
                    public_name: my-public-gateway
                    private_name: my-private-gateway
                tags:
                  - key: cluster.id
                    value: my-np-gcp-prod
        required: true
        description: Object to create a new provider
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a provider resource
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    $ref: '#/components/schemas/def-0'
                  nrn:
                    $ref: '#/components/schemas/def-3'
                  specification_id:
                    $ref: '#/components/schemas/def-0'
                  attributes:
                    type: object
                    description: Provider-specific attributes defined in the specification schema
                  dimensions:
                    type: object
                    description: NRN-specific dimensions. [Read more](/docs/dimensions)
                  tags:
                    type: array
                    description: Tags associated with the provider
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Tag key
                        value:
                          type: string
                          description: Tag value
                        id:
                          $ref: '#/components/schemas/def-0'
                          description: Tag ID
                      required:
                        - key
                        - value
                        - id
                      additionalProperties: false
                  groups:
                    type: array
                    items:
                      type: string
                    description: Groups associated with the provider
                  created_at:
                    type: string
                    format: date-time
                    description: Creation timestamp
                  updated_at:
                    type: string
                    format: date-time
                    description: Last update timestamp
                title: ProviderRead
                description: Object representing a provider resource
                example:
                  id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
                  nrn: organization=1:account=1:namespace=1
                  dimensions:
                    enviroment: production
                  specification_id: 02fd22f1-6bf9-41aa-9b58-29d50f725855
                  attributes:
                    cluster:
                      id: my-np-gcp-prod
                      location: s-west1
                      namespace: my-namespace
                    gateway:
                      public_name: my-public-gateway
                      private_name: my-private-gateway
                  tags:
                    - id: 4e2306de-82e3-4b74-a419-e0e324beb500
                      key: cluster.id
                      value: my-np-gcp-prod
                  created_at: '2024-10-15T08:30:00Z'
                  updated_at: '2024-10-20T14:45:00Z'
                required:
                  - id
                  - nrn
                  - specification_id
                  - attributes
                  - created_at
                  - updated_at
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /provider/{id}:
    get:
      operationId: provider:read
      summary: Read a provider
      tags:
        - Provider
      description: Read a provider by ID. The attributes are resolved with [inheritance](/docs/providers/overview#provider-inheritance) by default
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: no_merge
          required: false
          description: Specifies whether to merge attributes hierarchically
        - schema:
            $ref: '#/components/schemas/def-0'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a provider resource
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    $ref: '#/components/schemas/def-0'
                  nrn:
                    $ref: '#/components/schemas/def-3'
                  specification_id:
                    $ref: '#/components/schemas/def-0'
                  attributes:
                    type: object
                    description: Provider-specific attributes defined in the specification schema
                  dimensions:
                    type: object
                    description: NRN-specific dimensions. [Read more](/docs/dimensions)
                  tags:
                    type: array
                    description: Tags associated with the provider
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Tag key
                        value:
                          type: string
                          description: Tag value
                        id:
                          $ref: '#/components/schemas/def-0'
                          description: Tag ID
                      required:
                        - key
                        - value
                        - id
                      additionalProperties: false
                  groups:
                    type: array
                    items:
                      type: string
                    description: Groups associated with the provider
                  created_at:
                    type: string
                    format: date-time
                    description: Creation timestamp
                  updated_at:
                    type: string
                    format: date-time
                    description: Last update timestamp
                title: ProviderRead
                description: Object representing a provider resource
                example:
                  id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
                  nrn: organization=1:account=1:namespace=1
                  dimensions:
                    enviroment: production
                  specification_id: 02fd22f1-6bf9-41aa-9b58-29d50f725855
                  attributes:
                    cluster:
                      id: my-np-gcp-prod
                      location: s-west1
                      namespace: my-namespace
                    gateway:
                      public_name: my-public-gateway
                      private_name: my-private-gateway
                  tags:
                    - id: 4e2306de-82e3-4b74-a419-e0e324beb500
                      key: cluster.id
                      value: my-np-gcp-prod
                  created_at: '2024-10-15T08:30:00Z'
                  updated_at: '2024-10-20T14:45:00Z'
                required:
                  - id
                  - nrn
                  - specification_id
                  - attributes
                  - created_at
                  - updated_at
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    put:
      operationId: provider:replace
      summary: Replace a provider
      tags:
        - Provider
      description: Replace a provider by ID
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              title: ProviderUpdate
              description: Object to update a provider
              properties:
                attributes:
                  type: object
                  description: Provider-specific attributes defined in the specification schema
                tags:
                  type: array
                  description: Tags associated with the provider
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Tag key
                      value:
                        type: string
                        description: Tag value
                    required:
                      - key
                      - value
                    additionalProperties: false
              example:
                attributes:
                  cluster:
                    id: my-np-gcp-prod
                    location: s-west1
                    namespace: my-namespace
                  gateway:
                    public_name: my-public-gateway
                    private_name: my-private-gateway
                tags:
                  - key: cluster.id
                    value: my-np-gcp-prod
        description: Object to update a provider
      parameters:
        - schema:
            $ref: '#/components/schemas/def-0'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a provider resource
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    $ref: '#/components/schemas/def-0'
                  nrn:
                    $ref: '#/components/schemas/def-3'
                  specification_id:
                    $ref: '#/components/schemas/def-0'
                  attributes:
                    type: object
                    description: Provider-specific attributes defined in the specification schema
                  dimensions:
                    type: object
                    description: NRN-specific dimensions. [Read more](/docs/dimensions)
                  tags:
                    type: array
                    description: Tags associated with the provider
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Tag key
                        value:
                          type: string
                          description: Tag value
                        id:
                          $ref: '#/components/schemas/def-0'
                          description: Tag ID
                      required:
                        - key
                        - value
                        - id
                      additionalProperties: false
                  groups:
                    type: array
                    items:
                      type: string
                    description: Groups associated with the provider
                  created_at:
                    type: string
                    format: date-time
                    description: Creation timestamp
                  updated_at:
                    type: string
                    format: date-time
                    description: Last update timestamp
                title: ProviderRead
                description: Object representing a provider resource
                example:
                  id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
                  nrn: organization=1:account=1:namespace=1
                  dimensions:
                    enviroment: production
                  specification_id: 02fd22f1-6bf9-41aa-9b58-29d50f725855
                  attributes:
                    cluster:
                      id: my-np-gcp-prod
                      location: s-west1
                      namespace: my-namespace
                    gateway:
                      public_name: my-public-gateway
                      private_name: my-private-gateway
                  tags:
                    - id: 4e2306de-82e3-4b74-a419-e0e324beb500
                      key: cluster.id
                      value: my-np-gcp-prod
                  created_at: '2024-10-15T08:30:00Z'
                  updated_at: '2024-10-20T14:45:00Z'
                required:
                  - id
                  - nrn
                  - specification_id
                  - attributes
                  - created_at
                  - updated_at
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: provider:update
      summary: Update a provider
      tags:
        - Provider
      description: Update a provider by ID
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              title: ProviderUpdate
              description: Object to update a provider
              properties:
                attributes:
                  type: object
                  description: Provider-specific attributes defined in the specification schema
                tags:
                  type: array
                  description: Tags associated with the provider
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Tag key
                      value:
                        type: string
                        description: Tag value
                    required:
                      - key
                      - value
                    additionalProperties: false
              example:
                attributes:
                  cluster:
                    id: my-np-gcp-prod
                    location: s-west1
                    namespace: my-namespace
                  gateway:
                    public_name: my-public-gateway
                    private_name: my-private-gateway
                tags:
                  - key: cluster.id
                    value: my-np-gcp-prod
        description: Object to update a provider
      parameters:
        - schema:
            $ref: '#/components/schemas/def-0'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a provider resource
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    $ref: '#/components/schemas/def-0'
                  nrn:
                    $ref: '#/components/schemas/def-3'
                  specification_id:
                    $ref: '#/components/schemas/def-0'
                  attributes:
                    type: object
                    description: Provider-specific attributes defined in the specification schema
                  dimensions:
                    type: object
                    description: NRN-specific dimensions. [Read more](/docs/dimensions)
                  tags:
                    type: array
                    description: Tags associated with the provider
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Tag key
                        value:
                          type: string
                          description: Tag value
                        id:
                          $ref: '#/components/schemas/def-0'
                          description: Tag ID
                      required:
                        - key
                        - value
                        - id
                      additionalProperties: false
                  groups:
                    type: array
                    items:
                      type: string
                    description: Groups associated with the provider
                  created_at:
                    type: string
                    format: date-time
                    description: Creation timestamp
                  updated_at:
                    type: string
                    format: date-time
                    description: Last update timestamp
                title: ProviderRead
                description: Object representing a provider resource
                example:
                  id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
                  nrn: organization=1:account=1:namespace=1
                  dimensions:
                    enviroment: production
                  specification_id: 02fd22f1-6bf9-41aa-9b58-29d50f725855
                  attributes:
                    cluster:
                      id: my-np-gcp-prod
                      location: s-west1
                      namespace: my-namespace
                    gateway:
                      public_name: my-public-gateway
                      private_name: my-private-gateway
                  tags:
                    - id: 4e2306de-82e3-4b74-a419-e0e324beb500
                      key: cluster.id
                      value: my-np-gcp-prod
                  created_at: '2024-10-15T08:30:00Z'
                  updated_at: '2024-10-20T14:45:00Z'
                required:
                  - id
                  - nrn
                  - specification_id
                  - attributes
                  - created_at
                  - updated_at
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: provider:delete
      summary: Delete a provider
      tags:
        - Provider
      description: Delete a provider by ID
      parameters:
        - schema:
            $ref: '#/components/schemas/def-0'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a provider resource
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    $ref: '#/components/schemas/def-0'
                  nrn:
                    $ref: '#/components/schemas/def-3'
                  specification_id:
                    $ref: '#/components/schemas/def-0'
                  attributes:
                    type: object
                    description: Provider-specific attributes defined in the specification schema
                  dimensions:
                    type: object
                    description: NRN-specific dimensions. [Read more](/docs/dimensions)
                  tags:
                    type: array
                    description: Tags associated with the provider
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Tag key
                        value:
                          type: string
                          description: Tag value
                        id:
                          $ref: '#/components/schemas/def-0'
                          description: Tag ID
                      required:
                        - key
                        - value
                        - id
                      additionalProperties: false
                  groups:
                    type: array
                    items:
                      type: string
                    description: Groups associated with the provider
                  created_at:
                    type: string
                    format: date-time
                    description: Creation timestamp
                  updated_at:
                    type: string
                    format: date-time
                    description: Last update timestamp
                title: ProviderRead
                description: Object representing a provider resource
                example:
                  id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
                  nrn: organization=1:account=1:namespace=1
                  dimensions:
                    enviroment: production
                  specification_id: 02fd22f1-6bf9-41aa-9b58-29d50f725855
                  attributes:
                    cluster:
                      id: my-np-gcp-prod
                      location: s-west1
                      namespace: my-namespace
                    gateway:
                      public_name: my-public-gateway
                      private_name: my-private-gateway
                  tags:
                    - id: 4e2306de-82e3-4b74-a419-e0e324beb500
                      key: cluster.id
                      value: my-np-gcp-prod
                  created_at: '2024-10-15T08:30:00Z'
                  updated_at: '2024-10-20T14:45:00Z'
                required:
                  - id
                  - nrn
                  - specification_id
                  - attributes
                  - created_at
                  - updated_at
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /provider_specification:
    get:
      operationId: provider_specification:list
      summary: List provider specifications
      tags:
        - Provider Specification
      description: Get a paginated list of providers specifications filtered by [NRN](/docs/NRN) and other queries
      parameters:
        - schema:
            type: integer
            minimum: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: integer
            minimum: 0
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            type: string
          in: query
          name: slug
          required: false
          description: Unique slug for the provider specification
        - schema:
            type: string
          in: query
          name: name
          required: false
          description: Name of the provider specification
        - schema:
            $ref: '#/components/schemas/def-3'
          in: query
          name: nrn
          required: true
        - schema:
            $ref: '#/components/schemas/components-schemas-def-1'
          in: query
          name: category
          required: false
          description: List of category IDs to filter by
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Default Response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: false
                  properties:
                    id:
                      $ref: '#/components/schemas/def-0'
                    name:
                      type: string
                      description: Name of the provider specification
                    slug:
                      type: string
                      description: Unique slug for the provider specification
                    icon:
                      type: string
                      description: Icon for the provider specification
                    description:
                      type: string
                      description: Description of the provider specification
                    visible_to:
                      type: array
                      items:
                        type: string
                      description: List of NRNs this specification is visible to
                    schema:
                      type: object
                      description: |2-

                              [JSON Schema](https://json-schema.org/overview/what-is-jsonschema) for the provider specification.
                              This schema defines settings for any [nullplatform integrations](/docs/providers/supported-integrations).
                              It can also include custom JSON Schema keywords such as:

                              - **tag** (boolean): Marks a property as auto-taggable, automatically creating a tag with the property's value.
                              - **secret** (boolean): Marks a property as secret, ensuring the property’s value is never revealed.
                              - **groups** (array): Specifies configuration groups within the schema, automatically creating sections in the UI.
                            
                    allow_dimensions:
                      type: boolean
                      description: Flag to allow dimensions for this specification
                    default_dimensions:
                      type: object
                      description: Default dimensions for the provider specification
                    tags:
                      type: array
                      description: Tags associated with the providers
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            description: Tag key
                          value:
                            type: string
                            description: Tag value
                          id:
                            $ref: '#/components/schemas/def-0'
                            description: Tag ID
                        required:
                          - key
                          - value
                          - id
                        additionalProperties: false
                    categories:
                      type: array
                      items:
                        $ref: '#/components/schemas/def-0'
                      description: IDs of associated categories
                    dependencies:
                      type: array
                      items:
                        $ref: '#/components/schemas/def-0'
                      description: IDs of associated dependencies
                    created_at:
                      type: string
                      format: date-time
                      description: Creation timestamp
                    updated_at:
                      type: string
                      format: date-time
                      description: Last update timestamp
                  title: ProviderSpecificationRead
                  description: Object representing a provider specification resource
                  required:
                    - id
                    - name
                    - slug
                    - schema
                    - allow_dimensions
                    - created_at
                    - updated_at
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /provider_specification/{id}:
    get:
      operationId: provider_specification:read
      summary: Read a provider specification
      tags:
        - Provider Specification
      description: Read a provider specification by ID. The JSON schema attribute defines settings for any [nullplatform integrations](/docs/providers/supported-integrations).
      parameters:
        - schema:
            $ref: '#/components/schemas/def-0'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing a provider specification resource
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    $ref: '#/components/schemas/def-0'
                  name:
                    type: string
                    description: Name of the provider specification
                  slug:
                    type: string
                    description: Unique slug for the provider specification
                  icon:
                    type: string
                    description: Icon for the provider specification
                  description:
                    type: string
                    description: Description of the provider specification
                  visible_to:
                    type: array
                    items:
                      type: string
                    description: List of NRNs this specification is visible to
                  schema:
                    type: object
                    description: |2-

                            [JSON Schema](https://json-schema.org/overview/what-is-jsonschema) for the provider specification.
                            This schema defines settings for any [nullplatform integrations](/docs/providers/supported-integrations).
                            It can also include custom JSON Schema keywords such as:

                            - **tag** (boolean): Marks a property as auto-taggable, automatically creating a tag with the property's value.
                            - **secret** (boolean): Marks a property as secret, ensuring the property’s value is never revealed.
                            - **groups** (array): Specifies configuration groups within the schema, automatically creating sections in the UI.
                          
                  allow_dimensions:
                    type: boolean
                    description: Flag to allow dimensions for this specification
                  default_dimensions:
                    type: object
                    description: Default dimensions for the provider specification
                  tags:
                    type: array
                    description: Tags associated with the providers
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Tag key
                        value:
                          type: string
                          description: Tag value
                        id:
                          $ref: '#/components/schemas/def-0'
                          description: Tag ID
                      required:
                        - key
                        - value
                        - id
                      additionalProperties: false
                  categories:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-0'
                    description: IDs of associated categories
                  dependencies:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-0'
                    description: IDs of associated dependencies
                  created_at:
                    type: string
                    format: date-time
                    description: Creation timestamp
                  updated_at:
                    type: string
                    format: date-time
                    description: Last update timestamp
                title: ProviderSpecificationRead
                description: Object representing a provider specification resource
                required:
                  - id
                  - name
                  - slug
                  - schema
                  - allow_dimensions
                  - created_at
                  - updated_at
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /release:
    get:
      description: List all releases within an application
      tags:
        - Release
      summary: List releases
      operationId: release:list
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          name: application_id
          schema:
            type: string
          required: true
          description: The application ID for the releases being listed. Allows up to 10 comma-separated values.
          example: 5678,1234
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The list of releases matching the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/releaseListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a release
      description: Create a new release within an existing application.
      operationId: release:create
      tags:
        - Release
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReleaseCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/release'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /release/{id}:
    get:
      summary: Read a release
      description: Read a specific release by ID.
      operationId: release:read
      tags:
        - Release
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the release.
          example: 1234
      responses:
        '200':
          description: An object representing the release.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/release'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a release
      description: Update information for a release.
      security:
        - bearerAuth: []
      operationId: release:update
      tags:
        - Release
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the release.
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/release_write'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/release'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /runtime_configuration:
    get:
      summary: List runtime configurations
      description: |-
        List runtime configuration.

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: runtime_configuration:list
      tags:
        - Runtime Configuration
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          schema:
            type: string
          name: nrn
          description: Filters runtime configurations that match or are more specific than the provided NRN.
          example: organization=1:account=2:namespace=3
      security:
        - bearerAuth: []
      responses:
        '200':
          description: Parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration_list'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a runtime configuration
      description: |-
        Creates an runtime configuration.
        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: runtime_configuration:create
      tags:
        - Runtime Configuration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuntimeConfigurationCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /runtime_configuration/{id}:
    get:
      summary: Read a runtime configuration
      description: |-
        Read a runtime configuration.

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: runtime_configuration:read
      tags:
        - Runtime Configuration
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the runtime configuration.
          example: 1234
      security:
        - bearerAuth: []
      responses:
        '200':
          description: Runtime configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration'
              example:
                id: 1234
                nrn: organization=1:account=2:namespace=3
                profile: environment_dev_country_arg
                status: active
                dimensions:
                  environment: dev
                  country: arg
                values:
                  workflow: null_dev
                  aws:
                    log_reader: ...
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a runtime configuration
      description: |-
        Updates a runtime configuration.

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: runtime_configuration:write
      tags:
        - Runtime Configuration
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the runtime configuration.
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuntimeConfigurationWrite'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtime_configuration'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete a runtime configuration
      description: |-
        Remove a runtime configuration by ID.

        >
        > ⚠️ **Deprecation notice**
        >
        > This operation might be removed in the future. We recommend using [Providers](/docs/providers/overview) instead.
      operationId: runtime_configuration:delete
      tags:
        - Runtime Configuration
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the runtime configuration.
          example: 1234
      security:
        - bearerAuth: []
      responses:
        '204':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope:
    get:
      description: List scopes within an application.
      tags:
        - Scope
      summary: List scopes
      operationId: scope:list
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
        - in: query
          name: application_id
          schema:
            type: string
          required: true
          description: The ID of the application for the scopes being listed. Allows up to 10 comma-separated values."
          example: 5678,1234
        - $ref: '#/components/parameters/includeMessages'
        - in: query
          name: status
          schema:
            type: string
            enum:
              - pending_approval
              - pending_hook
              - pending_approval_denied
              - pending
              - creating
              - active
              - updating
              - updating_approval
              - deleting
              - deleted
              - failed
              - stopping
              - stopped
              - cancelled
          required: false
          description: Status of the scope.
        - in: query
          name: type
          schema:
            type: string
            enum:
              - web_pool
              - web_pool_k8s
              - scheduled_tasks
              - serverless
              - custom
          required: false
          description: Type of the scope.
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The list of scopes matching the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scopeListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a scope
      description: Create a new scope in an existing application.
      operationId: scope:create
      tags:
        - Scope
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScopeCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scope'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope/{id}:
    get:
      summary: Read a scope
      description: Read a specific scope.
      operationId: scope:read
      tags:
        - Scope
      parameters:
        - $ref: '#/components/parameters/parameters-metadataIncludes'
        - $ref: '#/components/parameters/includeMessages'
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the scope.
          example: 1234
      security:
        - bearerAuth: []
      responses:
        '200':
          description: An object representing the scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scope'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a scope
      description: Updates information for a scope.
      operationId: scope:update
      security:
        - bearerAuth: []
      tags:
        - Scope
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: The ID of the scope.
          example: 1234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/scope_update'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scope'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Remove a scope
      description: Remove a scope by ID.
      operationId: scope:delete
      tags:
        - Scope
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          description: The unique ID for the scope.
          schema:
            type: string
        - name: force
          in: query
          required: false
          example: true
          description: |-
            Force delete a scope if the regular delete fails.

            > ℹ️ **Preconditions**
            >
            > The "force delete" option becomes available only if a previous delete attempt was unsuccessful.
          schema:
            type: boolean
            enum:
              - true
      responses:
        '200':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope/{scopeId}/action:
    post:
      summary: Create a troubleshooting action
      description: Submits an action to kill a specific instance or pod.
      tags:
        - Scope
      operationId: scope_troubleshooting_action:create
      parameters:
        - name: scopeId
          in: path
          required: true
          schema:
            type: string
          description: The ID of the scope.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScopeActionInstanceKillCreate'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopeAction'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope/{scopeId}/action/{actionId}:
    get:
      summary: Read a troubleshooting action
      operationId: scope_troubleshooting_action:read
      tags:
        - Scope
      parameters:
        - name: scopeId
          in: path
          required: true
          schema:
            type: string
          description: The ID of the scope.
        - name: actionId
          in: path
          required: true
          schema:
            type: string
          description: The ID of the troubleshooting action.
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopeAction'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope/{scopeId}/dimension:
    post:
      summary: Assign a dimension
      description: Assign a dimension to this scope.
      operationId: scope_dimension:create
      tags:
        - Scope
      parameters:
        - name: scopeId
          in: path
          required: true
          description: The unique ID for the scope.
          schema:
            type: string
          example: '1234'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                environment: development
                country: US
              additionalProperties:
                type: string
                description: key-values with slugs for the dimension and its value.
      security:
        - bearerAuth: []
      responses:
        '204':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope/{scopeId}/dimension/{slug}:
    delete:
      parameters:
        - name: scopeId
          in: path
          required: true
          description: The unique ID for the scope.
          schema:
            type: string
          example: '1234'
        - name: slug
          in: path
          required: true
          description: The dimension slug.
          schema:
            type: string
      summary: Remove a dimension
      description: Remove a dimension from this scope.
      operationId: scope_dimension:delete
      tags:
        - Scope
      security:
        - bearerAuth: []
      responses:
        '204':
          description: The operation was successful
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope_domain:
    get:
      summary: List custom domains
      description: List custom domains assigned to a scope.
      operationId: scope_domain:list
      tags:
        - Custom domain
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: organization_id
          schema:
            type: string
          required: true
          description: The ID of the organization.
          example: '1'
        - in: query
          name: scope_id
          schema:
            type: string
          description: The ID of the scope.
          example: '1234'
        - in: query
          name: status
          schema:
            type: string
            enum:
              - active
              - pending
          description: The status of the domain.
        - in: query
          name: name
          schema:
            type: string
          description: The name of the domain.
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scopeDomainListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a custom domain
      description: Create a custom domain for a scope.
      operationId: scope_domain:create
      tags:
        - Custom domain
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/scopeDomainCreate'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scopeDomainResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope_domain/{id}:
    get:
      summary: Read a custom domain
      description: Read a custom domain assigned to a scope.
      operationId: scope_domain:read
      tags:
        - Custom domain
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          description: The unique ID for the custom domain.
          schema:
            type: string
            format: uuid
          example: e78a0d21-3c48-7421-81cd-203fe84b8e47
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scopeDomainResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a custom domain
      description: Updates a custom domain assigned to a scope.
      operationId: scope_domain:update
      tags:
        - Custom domain
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          description: The unique ID for the custom domain.
          schema:
            type: string
          example: e78a0d21-3c48-7421-81cd-203fe84b8e47
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  description: The name of the custom domain to update.
                  example: api.crypto-inc.com
                status:
                  $ref: '#/components/schemas/ScopeStatus'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scopeDomainResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete a custom domain
      description: Delete a custom domain from a scope.
      operationId: scope_domain:delete
      tags:
        - Custom domain
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          required: true
          description: The unique ID for the custom domain.
          schema:
            type: string
          example: e78a0d21-3c48-7421-81cd-203fe84b8e47
      responses:
        '204':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope_type:
    get:
      summary: List scope types
      operationId: scope-type:list
      tags:
        - Scope type
      description: List your scope types for a given NRN.
      security:
        - bearerAuth: []
      parameters:
        - in: query
          name: nrn
          schema:
            type: string
          description: Filter scope type  that match or are more specific than the provided NRN.
          example: organization=1:account=2:namespace=3:application=4
          required: true
        - in: query
          name: status
          schema:
            type: string
            enum:
              - active
              - inactive
          required: false
          description: Status of the scope type.
        - in: query
          name: type
          schema:
            type: string
            enum:
              - custom
          required: false
          description: Type of the scope type.
        - in: query
          name: provider_type
          schema:
            type: string
            enum:
              - service
          required: false
          description: Provider type of the scope type.
        - in: query
          name: provider_id
          schema:
            type: string
          required: false
          description: Provider ID of the scope type.
          example: <<your-service-specification-id>>
        - in: query
          name: name
          schema:
            type: string
          required: false
          description: The name displayed to the developers to identify the scope type.
          example: EKS CronJob
        - in: query
          name: include
          schema:
            type: string
            enum:
              - capabilities
          required: false
          description: Includes additional data from the provider definition.
          example: capabilities
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopeTypeResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a scope type
      description: Enable scope types for your applications.
      operationId: scope-type:create
      tags:
        - Scope type
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScopeTypeRequest'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopeTypeResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /scope_type/{id}:
    get:
      summary: Read a scope type
      operationId: scope-type:read
      tags:
        - Scope type
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: The ID of the scope type.
          example: 12345
      description: Read a scope type.
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopeTypeResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a scope type
      description: Updates a scope type.
      operationId: scope-type:write
      tags:
        - Scope type
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: The ID of the scope type.
          example: 12345
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScopeTypeRequest'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopeTypeResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete a scope type
      operationId: scope-type:delete
      tags:
        - Scope type
      security:
        - bearerAuth: []
      description: Delete a scope type.
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: The ID of the scope type.
          example: 12345
      responses:
        '200':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /service:
    get:
      operationId: service:list
      summary: List services
      tags:
        - Service
      description: List services
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: include_messages
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            type: string
            enum:
              - pending_create
              - pending
              - creating
              - updating
              - active
              - failed
              - cancelled
          in: query
          name: status
          required: false
          description: Status of the service. Should be one of the specified values in the enumeration
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: entity_nrn
          required: false
        - schema:
            type: string
            enum:
              - dependency
              - scope
          in: query
          name: type
          required: false
          description: Type of the service. Should be one of the specified values in the enumeration
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: specification_id
          required: false
          description: Unique identifier for the associated service specification
        - schema:
            type: string
          in: query
          name: name
          required: false
          description: Filter services by name using a partial match that ignores case (e.g., 'pay' matches 'Payment Service')
        - schema:
            type: boolean
            default: false
          in: query
          name: include_secret_attributes
          required: false
          description: Specifies whether to show secret attributes values. If set to true, secret attributes values will be shown
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: ServiceList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-21'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: service:create
      summary: Create a service
      tags:
        - Service
      description: Create a service
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                specification_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the associated service specification
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                    - type: string
                      pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                desired_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                  description: Desired unique identifier for the associated specification
                messages:
                  $ref: '#/components/schemas/def-5'
                  description: Object representing instance messages with severity levels
                linkable_to:
                  default: []
                  $ref: '#/components/schemas/def-4'
                  description: Array representing visibility settings for the service. Specifies what/who can link this entity
                dimensions:
                  default: {}
                  $ref: '#/components/schemas/def-8'
                  description: Object representing dimensions restrictions with key-value pairs
                attributes:
                  default: {}
                  type: object
                  description: Attributes associated with the service, should be valid against the service specification attribute schema
                selectors:
                  default: {}
                  $ref: '#/components/schemas/def-6'
                  description: Key-value object representing service selectors
                type:
                  default: dependency
                  type: string
                  enum:
                    - dependency
                    - scope
                  description: Type of the service. Should be one of the specified values in the enumeration
                status:
                  type: string
                  enum:
                    - pending_create
                    - pending
                    - creating
                    - updating
                    - active
                    - failed
                    - cancelled
                  description: Status of the service. Should be one of the specified values in the enumeration
                entity_nrn:
                  $ref: '#/components/schemas/def-2'
              description: Object representing service instances
              additionalProperties: false
              title: Service
              example:
                name: my-service
                entity_nrn: organization=1:account=1:namespace=1
                specification_id: 67fac146-54cc-466d-8c52-a8234445a95f
                linkable_to:
                  - organization=1:account=1
                  - organization=1:account=2
                attributes:
                  my_string_property: my_string_value
                  my_number_property: 0
              required:
                - name
                - specification_id
                - entity_nrn
        required: true
        description: Object representing service instances
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing service instances
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service specification
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - creating
                      - updating
                      - active
                      - failed
                      - cancelled
                    description: Status of the service. Should be one of the specified values in the enumeration
                  linkable_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the service. Specifies what/who can link this entity
                  dimensions:
                    $ref: '#/components/schemas/def-8'
                    description: Object representing dimensions restrictions with key-value pairs
                  attributes:
                    type: object
                    description: Attributes associated with the service, should be valid against the service specification attribute schema
                  entity_nrn:
                    $ref: '#/components/schemas/def-2'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing service selectors
                  type:
                    type: string
                    enum:
                      - dependency
                      - scope
                    description: Type of the service. Should be one of the specified values in the enumeration
                description: Object representing service instances
                additionalProperties: false
                title: Service
                example:
                  name: my-service
                  entity_nrn: organization=1:account=1:namespace=1
                  specification_id: 67fac146-54cc-466d-8c52-a8234445a95f
                  linkable_to:
                    - organization=1:account=1
                    - organization=1:account=2
                  attributes:
                    my_string_property: my_string_value
                    my_number_property: 0
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /service/{id}:
    get:
      operationId: service:read
      summary: Read a service
      tags:
        - Service
      description: Read a service
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing service instances
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service specification
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - creating
                      - updating
                      - active
                      - failed
                      - cancelled
                    description: Status of the service. Should be one of the specified values in the enumeration
                  linkable_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the service. Specifies what/who can link this entity
                  dimensions:
                    $ref: '#/components/schemas/def-8'
                    description: Object representing dimensions restrictions with key-value pairs
                  attributes:
                    type: object
                    description: Attributes associated with the service, should be valid against the service specification attribute schema
                  entity_nrn:
                    $ref: '#/components/schemas/def-2'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing service selectors
                  type:
                    type: string
                    enum:
                      - dependency
                      - scope
                    description: Type of the service. Should be one of the specified values in the enumeration
                description: Object representing service instances
                additionalProperties: false
                title: Service
                example:
                  name: my-service
                  entity_nrn: organization=1:account=1:namespace=1
                  specification_id: 67fac146-54cc-466d-8c52-a8234445a95f
                  linkable_to:
                    - organization=1:account=1
                    - organization=1:account=2
                  attributes:
                    my_string_property: my_string_value
                    my_number_property: 0
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: service:update
      summary: Update a service
      tags:
        - Service
      description: Updates a service
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                desired_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                  description: Desired unique identifier for the associated specification
                messages:
                  $ref: '#/components/schemas/def-5'
                  description: Object representing instance messages with severity levels
                status:
                  type: string
                  enum:
                    - pending_create
                    - pending
                    - creating
                    - updating
                    - active
                    - failed
                    - cancelled
                  description: Status of the service. Should be one of the specified values in the enumeration
                attributes:
                  type: object
                  description: Attributes associated with the service, should be valid against the service specification attribute schema
                selectors:
                  $ref: '#/components/schemas/def-6'
                  description: Key-value object representing service selectors
                linkable_to:
                  $ref: '#/components/schemas/def-4'
                  description: Array representing visibility settings for the service. Specifies what/who can link this entity
              description: Object representing service instances
              additionalProperties: false
              title: Service
              example:
                name: my-service
                entity_nrn: organization=1:account=1:namespace=1
                specification_id: 67fac146-54cc-466d-8c52-a8234445a95f
                linkable_to:
                  - organization=1:account=1
                  - organization=1:account=2
                attributes:
                  my_string_property: my_string_value
                  my_number_property: 0
        description: Object representing service instances
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing service instances
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service specification
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - creating
                      - updating
                      - active
                      - failed
                      - cancelled
                    description: Status of the service. Should be one of the specified values in the enumeration
                  linkable_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the service. Specifies what/who can link this entity
                  dimensions:
                    $ref: '#/components/schemas/def-8'
                    description: Object representing dimensions restrictions with key-value pairs
                  attributes:
                    type: object
                    description: Attributes associated with the service, should be valid against the service specification attribute schema
                  entity_nrn:
                    $ref: '#/components/schemas/def-2'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing service selectors
                  type:
                    type: string
                    enum:
                      - dependency
                      - scope
                    description: Type of the service. Should be one of the specified values in the enumeration
                description: Object representing service instances
                additionalProperties: false
                title: Service
                example:
                  name: my-service
                  entity_nrn: organization=1:account=1:namespace=1
                  specification_id: 67fac146-54cc-466d-8c52-a8234445a95f
                  linkable_to:
                    - organization=1:account=1
                    - organization=1:account=2
                  attributes:
                    my_string_property: my_string_value
                    my_number_property: 0
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: service:delete
      summary: Delete a service
      tags:
        - Service
      description: Delete a service
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: force
          required: false
          description: Specifies whether to force delete the service. If set to true, the service will be deleted without checking for delete action existence
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing service instances
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service specification
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - creating
                      - updating
                      - active
                      - failed
                      - cancelled
                    description: Status of the service. Should be one of the specified values in the enumeration
                  linkable_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the service. Specifies what/who can link this entity
                  dimensions:
                    $ref: '#/components/schemas/def-8'
                    description: Object representing dimensions restrictions with key-value pairs
                  attributes:
                    type: object
                    description: Attributes associated with the service, should be valid against the service specification attribute schema
                  entity_nrn:
                    $ref: '#/components/schemas/def-2'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing service selectors
                  type:
                    type: string
                    enum:
                      - dependency
                      - scope
                    description: Type of the service. Should be one of the specified values in the enumeration
                description: Object representing service instances
                additionalProperties: false
                title: Service
                example:
                  name: my-service
                  entity_nrn: organization=1:account=1:namespace=1
                  specification_id: 67fac146-54cc-466d-8c52-a8234445a95f
                  linkable_to:
                    - organization=1:account=1
                    - organization=1:account=2
                  attributes:
                    my_string_property: my_string_value
                    my_number_property: 0
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /service/{serviceId}/action:
    get:
      operationId: service_action:list
      summary: List service actions
      tags:
        - Action
      description: List service actions
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: include_messages
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            type: string
            enum:
              - pending_create
              - pending
              - in_progress
              - success
              - failed
              - cancelled
          in: query
          name: status
          required: false
          description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
        - schema:
            type: string
          in: path
          name: serviceId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: ActionList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-45'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: service_action:create
      summary: Create a service action
      tags:
        - Action
      description: Create a service action
      requestBody:
        content:
          application/json:
            schema:
              title: Action
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                specification_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the specification associated with the entity
                desired_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                  description: Desired unique identifier for the associated specification
                messages:
                  $ref: '#/components/schemas/def-5'
                  description: Object representing instance messages with severity levels
                parameters:
                  default: {}
                  type: object
                  description: Parameters associated with the action
                results:
                  default: {}
                  type: object
                  description: Results produced by the action
                isTest:
                  type: boolean
                  default: false
                status:
                  type: string
                  enum:
                    - pending_create
                    - pending
                    - in_progress
                    - success
                    - failed
                    - cancelled
                  description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                service_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the associated service
                link_id:
                  $ref: '#/components/schemas/def-1'
                  description: Unique identifier for the associated link
              description: Object representing instances
              type: object
              additionalProperties: false
              required:
                - specification_id
              anyOf:
                - required:
                    - service_id
                  not:
                    required:
                      - link_id
                - required:
                    - link_id
                  not:
                    required:
                      - service_id
                - not:
                    required:
                      - service_id
                      - link_id
        required: true
        description: Object representing instances
      security:
        - bearerAuth: []
      parameters:
        - schema:
            type: string
          in: path
          name: serviceId
          required: true
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /service/{serviceId}/action/{id}:
    get:
      operationId: service_action:read
      summary: Read a service action
      tags:
        - Action
      description: Read a service action by action ID
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: serviceId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: service_action:update
      summary: Update a service action
      tags:
        - Action
      description: Updates a service action
      requestBody:
        content:
          application/json:
            schema:
              title: Action
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                desired_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                  description: Desired unique identifier for the associated specification
                messages:
                  $ref: '#/components/schemas/def-5'
                  description: Object representing instance messages with severity levels
                status:
                  type: string
                  enum:
                    - pending_create
                    - pending
                    - in_progress
                    - success
                    - failed
                    - cancelled
                  description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                parameters:
                  type: object
                  description: Parameters associated with the action
                results:
                  type: object
                  description: Results produced by the action
              description: Object representing instances
              type: object
              additionalProperties: false
        description: Object representing instances
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: serviceId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: service_action:delete
      summary: Delete a service action
      tags:
        - Action
      description: Delete a service action
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: serviceId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing instances
          content:
            application/json:
              schema:
                title: Action
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the entity. Automatically generated from "name"
                  specification_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the specification associated with the entity
                  desired_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                    description: Desired unique identifier for the associated specification
                  messages:
                    $ref: '#/components/schemas/def-5'
                    description: Object representing instance messages with severity levels
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  status:
                    type: string
                    enum:
                      - pending_create
                      - pending
                      - in_progress
                      - success
                      - failed
                      - cancelled
                    description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
                  parameters:
                    type: object
                    description: Parameters associated with the action
                  results:
                    type: object
                    description: Results produced by the action
                  service_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated service
                  link_id:
                    $ref: '#/components/schemas/def-1'
                    description: Unique identifier for the associated link
                description: Object representing instances
                type: object
                additionalProperties: false
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /service_specification:
    get:
      operationId: service_specification:list
      summary: List service specifications
      tags:
        - Service
      description: List service specifications
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            type: string
            enum:
              - dependency
              - scope
          in: query
          name: type
          required: false
          description: Type of the service specification. Should be one of the specified values in the enumeration
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: ServiceSpecificationList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-15'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: service_specification:create
      summary: Create a service specification
      tags:
        - Service
      description: Create a service specification
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                visible_to:
                  default: []
                  $ref: '#/components/schemas/def-4'
                  description: Array representing visibility settings for the service specification. Specifies what/who can create a service based on this specification
                attributes:
                  default: {}
                  $ref: '#/components/schemas/def-7'
                selectors:
                  default: {}
                  $ref: '#/components/schemas/def-6'
                  description: Key-value object representing service specification selectors
                type:
                  default: dependency
                  type: string
                  enum:
                    - dependency
                    - scope
                  description: Type of the service specification. Should be one of the specified values in the enumeration
                dimensions:
                  default: {}
                  $ref: '#/components/schemas/def-9'
                assignable_to:
                  default: any
                  type: string
                  enum:
                    - any
                    - dimension
                    - scope
                  description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                use_default_actions:
                  default: false
                  type: boolean
                  description: Specifies if the service specification should use default actions. Default is false
              description: Object representing service specifications
              additionalProperties: false
              title: ServiceSpecification
              example:
                name: my-service-specification
                visible_to:
                  - organization=1:account=1
                  - organization=1:account=2
                dimensions:
                  environment:
                    required: true
                    values:
                      - production
                      - staging
                assignable_to: any
                attributes:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
              required:
                - name
                - visible_to
        required: true
        description: Object representing service specifications
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing service specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  visible_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the service specification. Specifies what/who can create a service based on this specification
                  attributes:
                    $ref: '#/components/schemas/def-7'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing service specification selectors
                  type:
                    type: string
                    enum:
                      - dependency
                      - scope
                    description: Type of the service specification. Should be one of the specified values in the enumeration
                  dimensions:
                    $ref: '#/components/schemas/def-9'
                  assignable_to:
                    type: string
                    enum:
                      - any
                      - dimension
                      - scope
                    description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                  use_default_actions:
                    type: boolean
                    description: Specifies if the service specification should use default actions. Default is false
                description: Object representing service specifications
                additionalProperties: false
                title: ServiceSpecification
                example:
                  name: my-service-specification
                  visible_to:
                    - organization=1:account=1
                    - organization=1:account=2
                  dimensions:
                    environment:
                      required: true
                      values:
                        - production
                        - staging
                  assignable_to: any
                  attributes:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /service_specification/{id}:
    get:
      operationId: service_specification:read
      summary: Read a service specification
      tags:
        - Service
      description: Read a service specification
      parameters:
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            type: string
            enum:
              - dependency
              - scope
          in: query
          name: type
          required: false
          description: Type of the service specification. Should be one of the specified values in the enumeration
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing service specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  visible_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the service specification. Specifies what/who can create a service based on this specification
                  attributes:
                    $ref: '#/components/schemas/def-7'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing service specification selectors
                  type:
                    type: string
                    enum:
                      - dependency
                      - scope
                    description: Type of the service specification. Should be one of the specified values in the enumeration
                  dimensions:
                    $ref: '#/components/schemas/def-9'
                  assignable_to:
                    type: string
                    enum:
                      - any
                      - dimension
                      - scope
                    description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                  use_default_actions:
                    type: boolean
                    description: Specifies if the service specification should use default actions. Default is false
                description: Object representing service specifications
                additionalProperties: false
                title: ServiceSpecification
                example:
                  name: my-service-specification
                  visible_to:
                    - organization=1:account=1
                    - organization=1:account=2
                  dimensions:
                    environment:
                      required: true
                      values:
                        - production
                        - staging
                  assignable_to: any
                  attributes:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: service_specification:update
      summary: Update a service specification
      tags:
        - Service
      description: Updates a service specification
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                visible_to:
                  $ref: '#/components/schemas/def-4'
                  description: Array representing visibility settings for the service specification. Specifies what/who can create a service based on this specification
                attributes:
                  $ref: '#/components/schemas/def-7'
                selectors:
                  $ref: '#/components/schemas/def-6'
                  description: Key-value object representing service specification selectors
                type:
                  type: string
                  enum:
                    - dependency
                    - scope
                  description: Type of the service specification. Should be one of the specified values in the enumeration
                dimensions:
                  $ref: '#/components/schemas/def-9'
                assignable_to:
                  type: string
                  enum:
                    - any
                    - dimension
                    - scope
                  description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                use_default_actions:
                  type: boolean
                  description: Specifies if the service specification should use default actions. Default is false
              description: Object representing service specifications
              additionalProperties: false
              title: ServiceSpecification
              example:
                name: my-service-specification
                visible_to:
                  - organization=1:account=1
                  - organization=1:account=2
                dimensions:
                  environment:
                    required: true
                    values:
                      - production
                      - staging
                assignable_to: any
                attributes:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
        description: Object representing service specifications
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing service specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  visible_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the service specification. Specifies what/who can create a service based on this specification
                  attributes:
                    $ref: '#/components/schemas/def-7'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing service specification selectors
                  type:
                    type: string
                    enum:
                      - dependency
                      - scope
                    description: Type of the service specification. Should be one of the specified values in the enumeration
                  dimensions:
                    $ref: '#/components/schemas/def-9'
                  assignable_to:
                    type: string
                    enum:
                      - any
                      - dimension
                      - scope
                    description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                  use_default_actions:
                    type: boolean
                    description: Specifies if the service specification should use default actions. Default is false
                description: Object representing service specifications
                additionalProperties: false
                title: ServiceSpecification
                example:
                  name: my-service-specification
                  visible_to:
                    - organization=1:account=1
                    - organization=1:account=2
                  dimensions:
                    environment:
                      required: true
                      values:
                        - production
                        - staging
                  assignable_to: any
                  attributes:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: service_specification:delete
      summary: Delete a service specification
      tags:
        - Service
      description: Delete a service specification
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing service specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  visible_to:
                    $ref: '#/components/schemas/def-4'
                    description: Array representing visibility settings for the service specification. Specifies what/who can create a service based on this specification
                  attributes:
                    $ref: '#/components/schemas/def-7'
                  selectors:
                    $ref: '#/components/schemas/def-6'
                    description: Key-value object representing service specification selectors
                  type:
                    type: string
                    enum:
                      - dependency
                      - scope
                    description: Type of the service specification. Should be one of the specified values in the enumeration
                  dimensions:
                    $ref: '#/components/schemas/def-9'
                  assignable_to:
                    type: string
                    enum:
                      - any
                      - dimension
                      - scope
                    description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
                  use_default_actions:
                    type: boolean
                    description: Specifies if the service specification should use default actions. Default is false
                description: Object representing service specifications
                additionalProperties: false
                title: ServiceSpecification
                example:
                  name: my-service-specification
                  visible_to:
                    - organization=1:account=1
                    - organization=1:account=2
                  dimensions:
                    environment:
                      required: true
                      values:
                        - production
                        - staging
                  assignable_to: any
                  attributes:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /service_specification/{id}/link_specification:
    get:
      operationId: link_specification_associated:list
      summary: List associated link specifications
      tags:
        - Service
      description: List associated link specifications
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: LinkSpecificationList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-27'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /service_specification/{serviceSpecificationId}/action_specification:
    get:
      operationId: service_specification_actions:list
      summary: List service specification actions
      tags:
        - Action
      description: List service specification actions.
      parameters:
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: id
          required: false
        - schema:
            $ref: '#/components/schemas/def-2'
          in: query
          name: nrn
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: limit
          required: false
          description: Limits the number of results returned per page
        - schema:
            type: string
            minLength: 1
          in: query
          name: offset
          required: false
          description: Specifies the offset for paginating through results
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: service_specification_id
          required: false
          description: Unique identifier for the associated service specification
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: link_specification_id
          required: false
          description: Unique identifier for the associated link specification
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: service_id
          required: false
          description: Service id identifier for dynamic additional properties
        - schema:
            anyOf:
              - $ref: '#/components/schemas/def-1'
              - type: 'null'
              - type: string
                pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          in: query
          name: link_id
          required: false
          description: Link id identifier for dynamic additional properties
        - schema:
            anyOf:
              - type: 'null'
              - type: integer
          in: query
          name: application_id
          required: false
          description: Application id identifier for dynamic additional properties
        - schema:
            type: string
          in: path
          name: serviceSpecificationId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing pagination parameters for controlling the number and order of results
          content:
            application/json:
              schema:
                title: ActionSpecificationList
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        description: Limits the number of results returned
                      offset:
                        type: integer
                        minimum: 0
                        description: Specifies the offset for paginated results
                    required:
                      - limit
                      - offset
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/def-39'
                required:
                  - paging
                  - results
                description: Object representing pagination parameters for controlling the number and order of results
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    post:
      operationId: service_specification_actions:create
      summary: Create a service specification action
      tags:
        - Action
      description: Create a service specification action
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                parameters:
                  default: {}
                  $ref: '#/components/schemas/def-7'
                  description: Parameters associated with the action
                results:
                  default: {}
                  $ref: '#/components/schemas/def-7'
                  description: Results expected from the action
                retryable:
                  default: false
                  type: boolean
                  description: Indicates whether the action can be retried if the instance is in a failed state.
                type:
                  type: string
                  enum:
                    - create
                    - update
                    - delete
                    - custom
                  description: Type of the action. Should be one of the specified values in the ActionType enumeration
                service_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                    - type: string
                      pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  description: Unique identifier for the associated service specification
                link_specification_id:
                  anyOf:
                    - $ref: '#/components/schemas/def-1'
                    - type: 'null'
                    - type: string
                      pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                  description: Unique identifier for the associated link specification
                annotations:
                  $ref: '#/components/schemas/def-10'
                  description: Annotations associated with the action
                enabled_when:
                  type: string
                  default: ''
                  description: Condition for the action to be able to be ran
                icon:
                  type: string
                  pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                  description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                enabled:
                  type: boolean
                  description: Indicates if the action is enabled depending on enabled_when
              description: Object representing action specifications
              additionalProperties: false
              title: ActionSpecification
              example:
                name: my-link-specification
                type: custom
                parameters:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
                results:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
                service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                retryable: true
                enabled_when: .service.dimensions.environment == "development"
                annotations:
                  runs_over: scope
                  show_on:
                    - scope
                    - performance
              required:
                - name
              anyOf:
                - required:
                    - service_specification_id
                  not:
                    required:
                      - link_specification_id
                - required:
                    - link_specification_id
                  not:
                    required:
                      - service_specification_id
                - not:
                    required:
                      - service_specification_id
                      - link_specification_id
        required: true
        description: Object representing action specifications
      security:
        - bearerAuth: []
      parameters:
        - schema:
            type: string
          in: path
          name: serviceSpecificationId
          required: true
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /service_specification/{serviceSpecificationId}/action_specification/{id}:
    get:
      operationId: service_specification_actions:read
      summary: Read a service action specification
      tags:
        - Action
      description: Read an action specification of a service specification
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: serviceSpecificationId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    patch:
      operationId: service_specification_actions:update
      summary: Update a service specification action
      tags:
        - Action
      description: Updates a service specification action
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  not:
                    enum:
                      - null
                  description: Name of the entity. Must be a non-empty string and not equal to null
                parameters:
                  $ref: '#/components/schemas/def-7'
                  description: Parameters associated with the action
                results:
                  $ref: '#/components/schemas/def-7'
                  description: Results expected from the action
                retryable:
                  type: boolean
                  default: false
                  description: Indicates whether the action can be retried if the instance is in a failed state.
              description: Object representing action specifications
              additionalProperties: false
              title: ActionSpecification
              example:
                name: my-link-specification
                type: custom
                parameters:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
                results:
                  schema:
                    type: object
                    properties:
                      my_string_property:
                        type: string
                      my_number_property:
                        type: number
                        default: 0
                    required:
                      - my_string_property
                  values: {}
                service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                retryable: true
                enabled_when: .service.dimensions.environment == "development"
                annotations:
                  runs_over: scope
                  show_on:
                    - scope
                    - performance
        description: Object representing action specifications
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: serviceSpecificationId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
    delete:
      operationId: service_specification_actions:delete
      summary: Delete a service specification action
      tags:
        - Action
      description: Delete a service specification action
      parameters:
        - schema:
            $ref: '#/components/schemas/def-1'
          in: path
          name: id
          required: true
        - schema:
            type: string
          in: path
          name: serviceSpecificationId
          required: true
      security:
        - bearerAuth: []
      responses:
        2XX:
          description: Object representing action specifications
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/def-1'
                  name:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Name of the entity. Must be a non-empty string and not equal to null
                  slug:
                    type: string
                    minLength: 1
                    not:
                      enum:
                        - null
                    description: Slug of the specification. Automatically generated from "name"
                  created_at:
                    type: string
                    format: date
                  updated_at:
                    type: string
                    format: date
                  type:
                    type: string
                    enum:
                      - create
                      - update
                      - delete
                      - custom
                    description: Type of the action. Should be one of the specified values in the ActionType enumeration
                  parameters:
                    $ref: '#/components/schemas/def-7'
                    description: Parameters associated with the action
                  results:
                    $ref: '#/components/schemas/def-7'
                    description: Results expected from the action
                  service_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated service specification
                  link_specification_id:
                    anyOf:
                      - $ref: '#/components/schemas/def-1'
                      - type: 'null'
                      - type: string
                        pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                    description: Unique identifier for the associated link specification
                  retryable:
                    type: boolean
                    default: false
                    description: Indicates whether the action can be retried if the instance is in a failed state.
                  annotations:
                    $ref: '#/components/schemas/def-10'
                    description: Annotations associated with the action
                  enabled_when:
                    type: string
                    default: ''
                    description: Condition for the action to be able to be ran
                  icon:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
                    description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
                  enabled:
                    type: boolean
                    description: Indicates if the action is enabled depending on enabled_when
                description: Object representing action specifications
                additionalProperties: false
                title: ActionSpecification
                example:
                  name: my-link-specification
                  type: custom
                  parameters:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  results:
                    schema:
                      type: object
                      properties:
                        my_string_property:
                          type: string
                        my_number_property:
                          type: number
                          default: 0
                      required:
                        - my_string_property
                    values: {}
                  service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
                  link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
                  retryable: true
                  enabled_when: .service.dimensions.environment == "development"
                  annotations:
                    runs_over: scope
                    show_on:
                      - scope
                      - performance
        4XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
        5XX:
          description: Format for representing errors during API interactions
          content:
            application/json:
              schema:
                title: Error
                type: object
                properties:
                  statusCode:
                    type: number
                    description: HTTP status code indicating the error
                  code:
                    type: string
                    description: Unique error code for reference and categorization
                  error:
                    type: string
                    description: Short, human-readable error type or category
                  message:
                    type: string
                    description: Detailed error message providing additional context
                description: Format for representing errors during API interactions
                required:
                  - statusCode
                  - error
                  - message
  /template:
    get:
      summary: List technology templates
      description: List all technology templates available in your organization.
      tags:
        - Technology template
      operationId: technology_template:list
      parameters:
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: The starting point for pagination. Defaults to 0 if not provided.
          example: 0
        - in: query
          name: limit
          schema:
            type: integer
          description: The maximum number of results to return per page.
          example: 30
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TechnologyTemplateListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a technology template
      description: Create a technology template that serves as a starter or skeleton for new applications.
      tags:
        - Technology template
      operationId: technology_template:create
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TechnologyTemplateCreate'
      responses:
        '200':
          description: Technology template created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TechnologyTemplateResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /template/{id}:
    get:
      summary: Read a technology template
      description: Read a specific technology template.
      tags:
        - Technology template
      operationId: technology_template:read
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          description: |
            The unique ID for the technology template.
          required: true
          schema:
            type: integer
          example: 123
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TechnologyTemplateResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    patch:
      summary: Update a technology template
      description: Updates a technology template.
      tags:
        - Technology template
      operationId: technology_template:write
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          description: |
            The unique ID for the technology template.
          required: true
          schema:
            type: integer
          example: 123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TechnologyTemplate_write'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TechnologyTemplateResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    delete:
      summary: Delete a technology template
      description: Deletes a specific technology template.
      tags:
        - Technology template
      operationId: technology_template:delete
      security:
        - bearerAuth: []
      parameters:
        - name: id
          in: path
          description: |
            The unique ID for the technology template.
          required: true
          schema:
            type: integer
          example: 123
      responses:
        '200':
          description: The operation was successful.
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /token:
    post:
      summary: Create or renew your access tokens
      description: |
        Create or renew your access token.

        :::info 
         If you need more info on tokens, check our [user guides](/docs/authorization/api-keys).
        :::
      tags:
        - Authentication
      operationId: access_token:create
      requestBody:
        description: |
          The request body for either creating or renewing access tokens. 

          > Choose either **Create a new token** or **Renew your token** to see the required parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthTokenRequest'
            examples:
              Create a new token:
                value:
                  api_key: MTI4ODQwNDE1Mg==.WXRnSChAMkR7dHM4XXFAM3Y1Y1U5SnFhT3NmcAsxPTs=
              Renew your token:
                value:
                  refresh_token: eyJjdHki...
                  organization_id: '1234'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthTokenResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /user:
    get:
      description: List all users in your organization.
      tags:
        - User
      summary: List users
      operationId: user:list
      parameters:
        - in: query
          name: organization_id
          schema:
            type: string
          required: true
          description: Filter users by the ID of the organization.
          example: '123'
        - in: query
          name: email
          schema:
            type: string
          required: false
          description: Filter users by their email address.
          example: alex.mgr@crypto-inc.com
        - in: query
          name: first_name
          schema:
            type: string
          required: false
          description: Filter users by their first name.
          example: Alex
        - in: query
          name: last_name
          schema:
            type: string
          required: false
          description: Filter users by their last name.
          example: Doe
        - in: query
          name: status
          schema:
            type: string
            enum:
              - active
              - inactive
              - pending
              - invited
          required: false
          description: |
            Filter users by their status. Multiple values can be provided, separated by commas.
          example: active,inactive
        - in: query
          name: id
          schema:
            type: string
          required: false
          description: |
            Filter users by their ID. Multiple values can be provided, separated by commas.
          example: 123456,987654
        - in: query
          name: type
          schema:
            type: string
            enum:
              - MACHINE
              - PERSON
          required: false
          description: |
            Filter users by user type.
          example: PERSON
      security:
        - bearerAuth: []
      responses:
        '200':
          description: The list of users matching the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userListResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    post:
      summary: Create a user
      description: Create a new user in your organization.
      tags:
        - User
      operationId: user:create
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreate'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
  /user/{id}:
    get:
      summary: Read a user
      description: Read a user by ID.
      operationId: user:read
      tags:
        - User
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: The ID of the user you want to get information about.
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
    put:
      summary: Update a user
      description: |
        Updates a user in your organization.

        :::info Only users of type `PERSON` can be updated.
        :::
      operationId: user:write
      tags:
        - User
      security:
        - bearerAuth: []
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
          description: |
            The ID of the user you want to update.

            > ℹ️ **Note:** Only users of type `PERSON` can be updated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/userWrite'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userResponse'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/responses-5XX'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    MetadataComponent:
      type: object
      description: The metadata loaded via the metadata catalog API.
      example:
        key: value
      properties:
        key:
          type: string
          description: The key of the metadata.
          example: key
        value:
          type: string
          description: The value of the metadata.
          example: null
        additional_properties:
          type: object
          description: Additional metadata properties, including schemas and tags.
          properties:
            schemas:
              type: array
              description: The JSON schemas of the metadata.
              items:
                type: object
            tags:
              type: array
              description: Tags associated with the metadata.
              items:
                type: object
                properties:
                  key:
                    type: string
                    example: key
                  value:
                    type: string
                    example: value
    account:
      type: object
      required:
        - id
        - name
        - slug
        - organization_id
        - repository_provider
        - repository_prefix
        - status
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the account.
          example: 1234
        name:
          type: string
          maxLength: 60
          description: The account name.
          example: Crypto Kong
        slug:
          type: string
          maxLength: 70
          description: An organization-wide unique slug for the account.
          example: crypto-kong
        organization_id:
          type: integer
          description: The ID of the organization that owns this account.
          example: 123
        repository_provider:
          type: string
          enum:
            - github
            - gitlab
            - azure
          description: The repository provider for the account.
          example: github
        repository_prefix:
          type: string
          maxLength: 40
          description: The prefix used for repositories in this account.
          example: crypto
        status:
          type: string
          enum:
            - active
            - inactive
          description: The status of the account.
          example: active
        metadata:
          $ref: '#/components/schemas/MetadataComponent'
    accountListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/account'
    accountCreate:
      type: object
      required:
        - name
        - slug
        - status
        - organization_id
        - repository_provider
        - repository_prefix
      properties:
        name:
          type: string
          description: The name of the account.
          example: Crypto Kong
        slug:
          type: string
          description: The slug of the account.
          example: crypto-kong
        organization_id:
          type: integer
          description: The ID of the organization that owns this account.
          example: 123
        repository_prefix:
          type: string
          description: The prefix used for repositories in this account.
          example: crypto
        status:
          type: string
          enum:
            - active
            - inactive
          description: The status of the account.
          example: active
        repository_provider:
          type: string
          enum:
            - github
            - gitlab
            - azure
          description: The repository provider for the account.
          example: github
    account_write:
      type: object
      required:
        - name
        - status
      properties:
        name:
          type: string
          description: |
            The name of the account.

            > ℹ️ **Note:** Changing the accounts's name **does not change the slug**, 
             as doing so could break connections with existing applications and services.
          example: Crypto Kong
        status:
          type: string
          enum:
            - active
            - inactive
          description: The status of the account.
          example: active
        repository_prefix:
          type: string
          description: The prefix used for repositories in this account.
          example: crypto
        repository_provider:
          type: string
          enum:
            - github
            - gitlab
            - azure
          description: The repository provider for the account.
          example: github
    def-1:
      title: Id
      type: string
      format: uuid
      description: Unique identifier for the entity represented as a UUID
    def-5:
      title: Message
      type: array
      items:
        type: object
        properties:
          level:
            type: string
            enum:
              - debug
              - info
              - information
              - warn
              - warning
              - error
              - fatal
            default: info
            description: Message severity level. Defaults to "info"
          message:
            type: string
            description: The actual message content
          timestamp:
            type: number
            description: Timestamp of the message in milliseconds
        required:
          - message
        additionalProperties: false
        description: Object representing messages with severity levels
    def-2:
      title: NRN
      type: string
      pattern: ^organization=[0-9*]+(:account=[0-9*]+)?(:namespace=[0-9*]+)?(:application=[0-9*]+)?(:scope=[0-9*]+)?$
      description: Nullplatform Resource Name (NRN) representing a hierarchical identifier for nullplatform resources
    def-7:
      title: Attribute
      type: object
      properties:
        schema:
          type: object
          default: {}
          description: Specification of the attribute schema. Must be a valid JSON Schema
        values:
          type: object
          default: {}
          description: Values associated with the attribute. Must validate against provided schema
      required:
        - schema
        - values
      additionalProperties: false
      description: Object representing an attribute with a schema and associated values
    def-10:
      title: Annotation
      type: object
      properties:
        runs_over:
          type: string
          enum:
            - scope
            - instance
          description: Entity type over which the action applies
        show_on:
          type: array
          items:
            type: string
            enum:
              - scope
              - performance
            description: Place in nullplatform where the action will be able to be triggered
          uniqueItems: true
      additionalProperties: false
      description: Object representing annotations with key-value pairs
      default: {}
    def-39:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/def-1'
        name:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Name of the entity. Must be a non-empty string and not equal to null
        slug:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Slug of the specification. Automatically generated from "name"
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
        type:
          type: string
          enum:
            - create
            - update
            - delete
            - custom
          description: Type of the action. Should be one of the specified values in the ActionType enumeration
        parameters:
          $ref: '#/components/schemas/def-7'
          description: Parameters associated with the action
        results:
          $ref: '#/components/schemas/def-7'
          description: Results expected from the action
        service_specification_id:
          anyOf:
            - $ref: '#/components/schemas/def-1'
            - type: 'null'
            - type: string
              pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          description: Unique identifier for the associated service specification
        link_specification_id:
          anyOf:
            - $ref: '#/components/schemas/def-1'
            - type: 'null'
            - type: string
              pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          description: Unique identifier for the associated link specification
        retryable:
          type: boolean
          default: false
          description: Indicates whether the action can be retried if the instance is in a failed state.
        annotations:
          $ref: '#/components/schemas/def-10'
          description: Annotations associated with the action
        enabled_when:
          type: string
          default: ''
          description: Condition for the action to be able to be ran
        icon:
          type: string
          pattern: ^[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+$
          description: 'Icon associated with the action. Format: ''icon-set:icon-variation''.'
        enabled:
          type: boolean
          description: Indicates if the action is enabled depending on enabled_when
      description: Object representing action specifications
      additionalProperties: false
      title: ActionSpecification
      example:
        name: my-link-specification
        type: custom
        parameters:
          schema:
            type: object
            properties:
              my_string_property:
                type: string
              my_number_property:
                type: number
                default: 0
            required:
              - my_string_property
          values: {}
        results:
          schema:
            type: object
            properties:
              my_string_property:
                type: string
              my_number_property:
                type: number
                default: 0
            required:
              - my_string_property
          values: {}
        service_specification_id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
        link_specification_id: f3e8be90-0952-4506-bd54-c4e75a5a4393
        retryable: true
        enabled_when: .service.dimensions.environment == "development"
        annotations:
          runs_over: scope
          show_on:
            - scope
            - performance
    apiKeyResponse:
      type: object
      required:
        - id
        - name
        - tags
        - grants
        - created_at
        - updated_at
      properties:
        id:
          type: integer
          description: Unique ID for the API key.
          example: 1234
        name:
          type: string
          description: The descriptive name given to the API key.
          example: CI/CD Main
        masked_api_key:
          type: string
          description: Your masked API key.
          example: AAAA.xxxxxxxxxxxxxxxxxxxxxPTs=
          nullable: true
        tags:
          type: array
          description: |
            Array of tags associated with your API key.

            ℹ️ If no tags are found, we return an empty array.
          items:
            type: object
            required:
              - key
              - value
            properties:
              key:
                type: string
                description: Tag key associated with your API key.
                example: CI
              value:
                type: string
                description: Tag value associated with your API key.
                example: main
        grants:
          type: array
          description: Defines access grants for an API key.
          items:
            type: object
            required:
              - nrn
              - role_id
              - role_slug
            properties:
              nrn:
                type: string
                description: The NRN of the resource where the API key's role is assigned.
                example: organization=1:account=1:namespace=1:application=4
              role_id:
                type: integer
                description: The ID of the role assigned to the API key for this NRN.
                example: 1855672260
              role_slug:
                type: string
                description: The slug of the role assigned to the API key for this NRN.
                example: machine:ci
        owner_id:
          type: integer
          description: The unique ID of the user that creates the API key.
          example: 1595
        last_used_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the API key was last used.
          nullable: true
          format: date-time
          example: '2021-01-02T00:00:00Z'
        created_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the API key was created.
          format: date-time
          example: '2021-01-02T00:00:00Z'
        updated_at:
          type: string
          nullable: true
          description: The ISO-8601 UTC timestamp of when the API key was last updated.
          format: date-time
          example: '2021-01-02T00:00:00Z'
    apiKeyPaginatedResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              description: The start of the paging window. Minimum is 0.
              example: 0
            limit:
              type: integer
              description: Maximum number of elements to retrieve per call. Maximum is 200.
              example: 10
        results:
          type: array
          items:
            $ref: '#/components/schemas/apiKeyResponse'
    grantsRoleSlug:
      type: object
      required:
        - nrn
        - role_slug
      properties:
        nrn:
          type: string
          description: The NRN of the resource where the API key's role is assigned.
          example: organization=1:account=1:namespace=1:application=4
        role_slug:
          type: string
          description: |
            The slug of the role assigned to the API key for this NRN.

            > Note: See [Roles](/docs/authorization/roles) for more info.
            >
          example: machine:ci
    grantsRoleId:
      type: object
      required:
        - nrn
        - role_id
      properties:
        nrn:
          type: string
          description: The NRN of the resource where the API key's role is assigned.
          example: organization=1:account=1:namespace=1:application=4
        role_id:
          type: integer
          description: |
            The ID of the role assigned to the API key for this NRN.

            > Note: See [Roles](/docs/authorization/roles) for more info.
            >
          example: 700317756
    api_keyNew:
      required:
        - name
        - grants
      properties:
        name:
          type: string
          description: A descriptive name for the API key.
          example: my-machine-process-that-will-access-nullplatform
        grants:
          type: array
          description: |
            Defines access grants for an API key.

            > **Note**: Specify either `role_id` or `role_slug`, but not both.
            >
          items:
            type: object
            oneOf:
              - $ref: '#/components/schemas/grantsRoleSlug'
              - $ref: '#/components/schemas/grantsRoleId'
        tags:
          type: array
          description: Tags associated with your API key.
          items:
            type: object
            properties:
              key:
                type: string
                description: Tag key associated with your API key.
                example: CI
              value:
                type: string
                description: Tag value associated with your API key.
                example: main
    apiKeyPostResponse:
      type: object
      required:
        - id
        - name
        - tags
        - grants
        - created_at
        - updated_at
        - api_key
      properties:
        id:
          type: integer
          description: Unique ID for the API key.
          example: 1234
        name:
          type: string
          description: The descriptive name given to the API key.
          example: CI/CD Main
        api_key:
          type: string
          description: |-
            Your newly created API key.

            >
            > ⚠️ **Save your API key securely.**
            >
            >The API key value will be displayed only once. Make sure to store it in a secure location as it cannot be retrieved later.
          example: AAAA.1234567890abcdef1234567890abcdefPTs=
        masked_api_key:
          type: string
          description: Your masked API key.
          example: AAAA.xxxxxxxxxxxxxxxxxxxxxPTs=
          nullable: true
        tags:
          type: array
          description: |
            Array of tags associated with your API key.

            ℹ️ If no tags are found, we return an empty array.
          items:
            type: object
            required:
              - key
              - value
            properties:
              key:
                type: string
                description: Tag key associated with your API key.
                example: CI
              value:
                type: string
                description: Tag value associated with your API key.
                example: main
        grants:
          type: array
          description: Defines access grants for an API key.
          items:
            type: object
            required:
              - nrn
              - role_id
              - role_slug
            properties:
              nrn:
                type: string
                description: The NRN of the resource where the API key's role is assigned.
                example: organization=1:account=1:namespace=1:application=4
              role_id:
                type: integer
                description: The ID of the role assigned to the API key for this NRN.
                example: 1855672260
              role_slug:
                type: string
                description: The slug of the role assigned to the API key for this NRN.
                example: machine:ci
        owner_id:
          type: integer
          description: The unique ID of the user that creates the API key.
          example: 1595
        last_used_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the API key was last used.
          nullable: true
          format: date-time
          example: '2021-01-02T00:00:00Z'
        created_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the API key was created.
          format: date-time
          example: '2021-01-02T00:00:00Z'
        updated_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the API key was last updated.
          format: date-time
          example: '2021-01-02T00:00:00Z'
    api_keyWrite:
      properties:
        name:
          type: string
          description: A descriptive name for the API key.
        grants:
          type: array
          description: |
            Defines access grants for an API key.
          items:
            type: object
            oneOf:
              - $ref: '#/components/schemas/grantsRoleSlug'
              - $ref: '#/components/schemas/grantsRoleId'
        tags:
          type: array
          description: Tags associated with your API key.
          items:
            type: object
            properties:
              key:
                type: string
                description: Tag key associated with your API key.
                example: CI
              value:
                type: string
                description: Tag value associated with your API key.
                example: main
    schemas-MetadataComponent:
      type: object
      description: The metadata loaded via the metadata catalog API.
      example:
        key: value
      properties:
        key:
          type: string
          description: The key of the metadata.
          example: key
        value:
          type: string
          description: The value of the metadata.
          example: value
        additional_properties:
          type: object
          description: Additional properties of the metadata.
          properties:
            schemas:
              type: array
              description: The JSON schemas of the metadata.
            tags:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                    example: key
                  value:
                    type: string
                    example: value
    application:
      type: object
      required:
        - id
        - name
        - slug
        - status
        - namespace_id
        - repository_url
        - is_mono_repo
        - auto_deploy_on_creation
        - template_id
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the application.
          example: 1234
        name:
          type: string
          maxLength: 60
          description: The application name.
          example: Billing API
        slug:
          type: string
          maxLength: 60
          description: A namespace-wide unique slug for the application.
          example: billing-api
        namespace_id:
          type: integer
          description: The ID of the namespace that owns this application.
          example: 2345
        status:
          type: string
          enum:
            - pending
            - creating
            - updating
            - active
            - inactive
            - failed
          description: The status of the application.
          example: active
        repository_url:
          type: string
          maxLength: 250
          description: The URL of the repository that holds this application.
          example: https://github.com/crypto-inc/accounting-billing-api
        repository_app_path:
          type: string
          description: The folder where the application is located inside a monorepo.
          example: null
          nullable: true
        is_mono_repo:
          type: boolean
          description: True if the application shares the repository with other apps, false otherwise.
          example: false
        auto_deploy_on_creation:
          type: boolean
          description: True if the application must be deployed immediately after being created, false otherwise.
          example: false
        template_id:
          type: integer
          description: The ID of the template used to create this application.
          example: 3456
        metadata:
          $ref: '#/components/schemas/schemas-MetadataComponent'
    applicationListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/application'
    applicationCreate:
      type: object
      required:
        - name
        - namespace_id
        - repository_url
      properties:
        name:
          type: string
          maxLength: 60
          description: The application name.
          example: Billing API
        namespace_id:
          type: integer
          description: The ID of the namespace that owns this application.
          example: 1234
        repository_url:
          type: string
          maxLength: 250
          description: The URL of the repository that holds this application.
          example: https://github.com/crypto-inc/accounting-billing-api
        repository_app_path:
          type: string
          description: The folder where the application is located inside a monorepo.
          example: null
          nullable: true
        template_id:
          type: integer
          description: The ID of the template that was used to create this application.
          example: 2345
        auto_deploy_on_creation:
          type: boolean
          description: True if the application must be deployed immediately after being created, false otherwise.
          example: false
    application_write:
      type: object
      properties:
        name:
          type: string
          maxLength: 60
          description: |
            The application name. 

            > ℹ️ **Note:** Changing the application's name **does not change the slug**, 
            as doing so could break connections with existing applications and services.
          example: Billing API
        status:
          type: string
          enum:
            - pending
            - creating
            - updating
            - active
            - inactive
            - failed
          description: The status of the application.
          example: active
        repository_url:
          type: string
          maxLength: 250
          description: The URL of the repository that holds this application.
          example: https://github.com/crypto-inc/accounting-billing-api
        tags:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                example: key
              value:
                type: string
                example: value
    entity_name:
      type: string
      description: The entity that requires approval.
      enum:
        - deployment
        - scope
        - service:action
        - parameter
      example: deployment
    entity_action:
      type: string
      description: The action that requires approval.
      enum:
        - deployment:create
        - scope:create
        - scope:recreate
        - scope:write
        - scope:delete
        - scope:stop
        - service:action:create
        - parameter:read-secrets
      example: deployment:create
    approval:
      type: object
      required:
        - id
        - approval_action_id
        - entity_id
        - entity_name
        - entity_action
        - original_http_request
        - approval_http_request
        - denial_http_request
        - status
        - execution_status
        - user_id
        - dimensions
      properties:
        id:
          type: integer
          description: A unique identifier for the approval.
          example: 1234
        user_id:
          type: integer
          description: The ID of the user who initiated this approval request.
          example: 2345
        approval_action_id:
          type: integer
          description: The ID of the action that triggered this approval.
          example: 3456
        entity_id:
          type: integer
          description: The ID of the entity affected by this approval.
          example: 4567
        entity_name:
          $ref: '#/components/schemas/entity_name'
        entity_action:
          $ref: '#/components/schemas/entity_action'
        original_http_request:
          type: object
          description: The HTTP request that triggered the approval.
        approval_http_request:
          type: object
          description: The HTTP request that must be executed to approve the action.
        denial_http_request:
          type: object
          description: The HTTP request that must be executed to deny the action.
        status:
          type: string
          description: The current status of the approval request.
          enum:
            - pending
            - approved
            - denied
            - expired
          example: pending
        execution_status:
          type: string
          description: The execution state of the approval action.
          enum:
            - pending
            - executing
            - success
            - failed
            - expired
          example: pending
        dimensions:
          type: object
          example:
            environment: production
            country: us
          description: The set of dimension/values pairs to which this action applies.
    approval_replyApprove:
      type: object
      required:
        - reviewer
      properties:
        reviewer:
          type: object
          required:
            - name
            - email
          properties:
            name:
              type: string
              description: The name of the approver.
              example: Alex Manager
            email:
              type: string
              description: The email of the approver.
              example: alex.mgr@crypto-inc.com
            nullplatform_user_id:
              type: integer
              description: The nullplatform ID of the approver (optional).
          example:
            name: Alex Manager
            email: alex.mgr@crypto-inc.com
            nullplatform_user_id: null
          description: The person or system that approved the request.
        message:
          type: string
          description: An optional message explaining the approver's decision.
          example: Approved due to emergency deployment requirements.
        details:
          type: object
          description: Additional structured metadata related to the approver's decision.
      example:
        reviewer:
          name: Alex Manager
          email: alex.mgr@crypto-inc.com
          nullplatform_user_id: null
        message: Approved due to emergency deployment requirements.
        details: {}
    approval_replyDeny:
      type: object
      required:
        - reviewer
      properties:
        reviewer:
          type: object
          required:
            - name
            - email
          properties:
            name:
              type: string
              description: The name of the approver.
              example: Alex Manager
            email:
              type: string
              description: The email of the approver.
              example: alex.mgr@crypto-inc.com
            nullplatform_user_id:
              type: integer
              description: The nullplatform ID of the approver (optional).
          example:
            name: Alex Manager
            email: alex.mgr@crypto-inc.com
            nullplatform_user_id: null
          description: The person or system that denied the request.
        message:
          type: string
          description: An optional message explaining the approver's decision.
          example: Denied because the request falls outside the deployment window.
        details:
          type: object
          description: Additional structured metadata related to the approver's decision.
          example:
            deployment_window: Mon-Fri ; 9 AM to 5 PM
      example:
        reviewer:
          name: Alex Manager
          email: alex.mgr@crypto-inc.com
          nullplatform_user_id: null
        message: Denied because it's outside of the deployment window.
        details:
          deployment_window: Mon-Fri ; 9 AM to 5 PM
    entity:
      type: string
      description: The entity that requires approval.
      enum:
        - deployment
        - scope
        - service:action
        - parameter
      example: deployment
    action:
      type: string
      description: The action that requires approval.
      enum:
        - deployment:create
        - scope:create
        - scope:recreate
        - scope:write
        - scope:delete
        - scope:stop
        - service:action:create
        - parameter:read-secrets
      example: deployment:create
    approval_action:
      type: object
      required:
        - id
        - nrn
        - entity
        - action
      properties:
        id:
          type: integer
          description: A unique identifier for the approval action.
          example: 1234
        nrn:
          type: string
          description: A resource identifier (NRN) specifying where this action applies.
          example: organization=1:account=2:namespace=3:application=4
        entity:
          $ref: '#/components/schemas/entity'
        action:
          $ref: '#/components/schemas/action'
        dimensions:
          type: object
          description: Key-value pairs defining the scope of the action.
          example:
            environment: production
            country: us
        on_policy_success:
          type: string
          enum:
            - approve
            - manual
          description: |
            The action to be taken when the policy check is successful.

            > **Note:** If omitted, this value defaults to **manual**.
          example: approve
        on_policy_fail:
          type: string
          enum:
            - manual
            - deny
          description: |
            The action to be taken when the policy check fails.

            > **Note:** If omitted, this value defaults to **manual**.
          example: deny
    actionListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/approval_action'
    approval_actionCreate:
      type: object
      required:
        - nrn
        - entity
        - action
      properties:
        nrn:
          type: string
          description: A resource identifier (NRN) specifying where this action applies.
          example: organization=1:account=2:namespace=3:application=4
        entity:
          $ref: '#/components/schemas/entity'
        action:
          $ref: '#/components/schemas/action'
        dimensions:
          type: object
          description: Key-value pairs defining the scope of the action.
          example:
            environment: production
            country: us
        on_policy_success:
          type: string
          enum:
            - approve
            - manual
          description: |
            The action to be taken when the policy check is successful.

            > **Note:** If omitted, this value defaults to **manual**.
          example: approve
        on_policy_fail:
          type: string
          enum:
            - manual
            - deny
          description: |
            The action to be taken when the policy check fails.

            > **Note:** If omitted, this value defaults to **manual**.
          example: deny
      example:
        nrn: organization=1:account=2:namespace=3:application=4
        entity: deployment
        action: deployment:create
        dimensions:
          environment: production
          country: us
        on_policy_success: approve
        on_policy_fail: deny
    approval_actionWrite:
      type: object
      properties:
        on_policy_success:
          type: string
          enum:
            - approve
            - manual
          description: The action to be taken on policy success.
          example: approve
        on_policy_fail:
          type: string
          enum:
            - manual
            - deny
          description: The action to be taken on policy failure.
          example: deny
    policy:
      type: object
      required:
        - id
        - nrn
        - name
        - conditions
      properties:
        id:
          type: integer
          description: A unique identifier for the policy.
          example: 5678
        nrn:
          type: string
          description: A resource identifier (NRN) specifying where the policy applies.
          example: organization=1:account=2:namespace=3:application=4
        name:
          type: string
          description: The name of the policy.
          example: Crypto Kong Policies
        conditions:
          type: object
          description: A JSON object defining the conditions under which this policy applies.
          example:
            scope.requested_spec.memory_in_gb:
              $lte: 4
        selector:
          type: object
          description: |
            A JSON object defining the selector for the policy.
          example:
            service.spec.id:
              $eq: 2
    policyListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/policy'
    policyCreate:
      type: object
      required:
        - nrn
        - name
        - conditions
      properties:
        nrn:
          type: string
          description: A resource identifier (NRN) specifying where the policy applies.
          example: organization=1:account=2:namespace=3:application=4
        name:
          type: string
          description: The name of the policy.
          example: Crypto Kong Policies
        conditions:
          type: object
          description: A JSON object defining the conditions under which this policy applies.
          example:
            scope.requested_spec.memory_in_gb:
              $lte: 4
        selector:
          type: object
          description: |
            A JSON object defining the selector for the policy.
            > **Note:** We recommend using selectors for services, as they allow you to target specific service specifications.
          example:
            service.spec.id:
              $eq: 2
    policyWrite:
      type: object
      properties:
        conditions:
          type: object
          description: A JSON object defining the conditions under which this policy applies.
          example:
            scope.requested_spec.memory_in_gb:
              $lte: 4
        selector:
          type: object
          description: |
            A JSON object defining the selector for the policy.
            > **Note:** We recommend using selectors for services, as they allow you to target specific service specifications.
          example:
            service.spec.id:
              $eq: 2
    assetResponse:
      type: object
      required:
        - id
        - build_id
        - type
        - url
      properties:
        id:
          type: integer
          description: The ID of the asset.
          example: 123
        name:
          type: string
          description: The name of the asset.
          example: My Asset
        build_id:
          type: integer
          description: The ID of the build that the asset belongs to.
          example: 345
        type:
          type: string
          description: The type of the asset.
          enum:
            - docker-image
            - lambda
          example: docker-image
        platform:
          type: string
          description: The platform of the asset.
          enum:
            - x86_64
            - arm_64
          example: arm_64
        url:
          type: string
          format: uri
          description: The URL of the asset.
          example: https://example.com/my-asset.jpg
        nrn:
          type: string
          description: The resource name (NRN) uniquely identifying the asset.
          example: organization=1:account=2:namespace=4:application=4:build=345:asset=123
        branch:
          type: string
          description: The branch that the asset was built from.
          example: main
        commit:
          type: object
          properties:
            id:
              type: integer
              description: The ID of the commit that the asset was built from.
              example: 234
            permalink:
              type: string
              description: The permalink to the commit that the asset was built from.
              example: https://example.com/1234
    assetListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/assetResponse'
    assetCreate:
      type: object
      required:
        - build_id
        - name
        - type
        - source
        - application_id
      properties:
        type:
          type: string
          description: The type of the asset.
          enum:
            - docker-image
            - lambda
          example: docker-image
        source:
          type: string
          description: |
            The source of the asset.

            > For docker-image assets, this should be the local tagged image or image name.
            > For lambda assets, this should be the file path of the lambda package.
          example: my image name
        name:
          type: string
          description: The name of the asset.
          example: My asset
        build_id:
          type: integer
          description: The ID of the build that the asset belongs to.
          example: 345
        application_id:
          type: integer
          description: The ID of the application that the asset belongs to.
          example: 234
        commit-sha:
          type: string
          description: The commit SHA that the asset was built from.
          example: '1234'
        metadata:
          $ref: '#/components/schemas/MetadataComponent'
        platform:
          type: string
          description: The platform of the asset.
          enum:
            - x86_64
            - arm_64
          example: arm_64
    assetUpdate:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/MetadataComponent'
    grantNewRoleSlug:
      title: Using role slug
      type: object
      required:
        - nrn
        - user_id
        - role_slug
      properties:
        nrn:
          type: string
          description: The NRN of the resource where the API key's role is assigned.
          example: organization=1:account=1:namespace=1:application=4
        user_id:
          type: integer
          description: |
            The ID of the user that **receives** the grant.
          example: 700317756
        role_slug:
          type: string
          description: |
            The slug of the role assigned to the API key for this NRN.

            > Note: See [Roles](/docs/authorization/roles) for more info.
            >
          example: developer
    grantNewRoleId:
      title: Using role ID
      type: object
      required:
        - nrn
        - user_id
        - role_id
      properties:
        nrn:
          type: string
          description: The NRN of the resource where the API key's role is assigned.
          example: organization=1:account=1:namespace=1:application=4
        user_id:
          type: integer
          description: |
            The ID of the user that **receives** the grant.
          example: 700317756
        role_id:
          type: integer
          description: |
            The ID of the role assigned to the API key for this NRN.

            > Note: See [Roles](/docs/authorization/roles) for more info.
            >
          example: 700317756
    grantNewBase:
      oneOf:
        - $ref: '#/components/schemas/grantNewRoleSlug'
        - $ref: '#/components/schemas/grantNewRoleId'
    buildResponse:
      type: object
      required:
        - id
        - branch
        - commit
        - created_at
        - status
      properties:
        id:
          type: integer
          description: The ID of the build.
          example: 123
        application_id:
          type: integer
          description: The ID of the application that the build belongs to.
          example: 345
        branch:
          type: string
          description: The branch that the asset was built from.
          example: main
        commit:
          type: object
          properties:
            id:
              type: string
              description: The ID of the commit that the build was built from.
              example: 123abc
            permalink:
              type: string
              description: The permalink to the commit that the asset was built from.
              example: https://example.com/1234
        created_at:
          type: string
          format: date-time
          description: The ISO-8601 UTC timestamp of when the build was created.
          example: '2021-01-01T00:00:00Z'
        updated_at:
          type: string
          format: date-time
          nullable: true
          description: The ISO-8601 UTC timestamp of when the build was last updated.
          example: '2021-01-02T00:00:00Z'
        description:
          type: string
          nullable: true
          description: A description of the build.
          example: This is a description of the build.
        nrn:
          type: string
          nullable: true
          description: The NRN of the build.
          example: organization=1:account=2:namespace=3:application=234:build=123
        status:
          type: string
          description: The status of the build.
          example: pending
          enum:
            - pending
            - in_progress
            - failed
            - successful
    buildListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/buildResponse'
    buildCreate:
      type: object
      required:
        - application_id
        - branch
        - commit
      properties:
        application_id:
          type: integer
          description: The ID of the application that the build belongs to.
          example: 234
        branch:
          type: string
          description: The branch that the asset was built from.
          example: main
        commit:
          type: object
          properties:
            id:
              type: string
              description: The ID of the commit that the build was built from.
              example: 123abc
            permalink:
              type: string
              description: The permalink to the commit that the asset was built from.
              example: https://example.com/1234
    buildUpdate:
      type: object
      properties:
        status:
          type: string
          description: The status of the build.
          example: pending
          enum:
            - pending
            - in_progress
            - failed
            - successful
    def-0:
      title: Id
      type: string
      format: uuid
      description: Unique identifier for the entity represented as a UUID
    def-23:
      type: object
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/def-0'
        name:
          type: string
          description: Name of the category
        slug:
          type: string
          description: Unique slug for the category
        icon:
          type: string
          description: Icon for the category
        description:
          type: string
          description: Description of the category
        parent_id:
          $ref: '#/components/schemas/def-0'
          description: ID of the parent category
        category_type_id:
          $ref: '#/components/schemas/def-0'
          description: ID of the category type
        category_type:
          title: CategoryType
          type: object
          description: Category type of the category
          properties:
            id:
              $ref: '#/components/schemas/def-0'
              description: ID of the category type
            name:
              type: string
              description: Name of the category type
            slug:
              type: string
              description: Unique slug for the category type
            description:
              type: string
              description: Description of the category type
          required:
            - id
            - name
            - slug
        parent:
          $ref: '#/components/schemas/def-23'
          description: Parent category of the category
        sub_categories:
          type: array
          items:
            $ref: '#/components/schemas/def-23'
          description: Sub categories of the category
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
        updated_at:
          type: string
          format: date-time
          description: Last update timestamp
      title: CategoryRead
      description: Object representing a category resource
      required:
        - id
        - name
        - slug
        - category_type_id
        - created_at
        - updated_at
      example:
        id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
        name: Compute & Containers
        slug: compute-containers
        description: Category for compute and container services
        category_type_id: 123e4567-e89b-12d3-a456-426614174000
        sub_categories:
          - id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
            name: Cloud Providers
            slug: cloud-providers
            description: Category for cloud platform providers
            category_type_id: 123e4567-e89b-12d3-a456-426614174000
            sub_categories: []
            created_at: '2024-10-15T08:30:00Z'
            updated_at: '2024-10-20T14:45:00Z'
          - id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
            name: Container Orchestration
            slug: container-orchestration
            description: Category for cloud platform providers
            category_type_id: 123e4567-e89b-12d3-a456-426614174000
            sub_categories: []
            created_at: '2024-10-15T08:30:00Z'
            updated_at: '2024-10-20T14:45:00Z'
        created_at: '2024-10-15T08:30:00Z'
        updated_at: '2024-10-20T14:45:00Z'
    capability:
      type: object
      properties:
        id:
          type: string
          description: A system-wide unique ID for the capability.
          example: commandexecutor1
        tags:
          type: object
          description: Object containing key-value pairs representing tags to be matched for applying the capability.
          example: environment:production,node_name:node-1
        status:
          type: string
          description: The status of the capability.
          enum:
            - active
          example: active
        version:
          type: string
          description: The version of the capability.
          example: 1.0.0
        configuration_id:
          type: string
          description: The ID of the configuration.
          example: config1
        desired_configuration_id:
          type: string
          description: The ID of the desired configuration.
          example: desired_config1
        is_default_configuration:
          type: boolean
          description: Defines whether this capability is the default configuration.
          enum:
            - true
            - false
          example: true
        current_configuration_expires_at:
          type: string
          format: date-time
          nullable: true
          description: The expiration date of the current configuration.
          example: '2024-07-12T15:00:00Z'
        provider:
          type: string
          description: The provider of the capability.
          example: commandexecutor1
        category:
          type: string
          description: The category of the capability.
          example: executor1
        created_at:
          type: string
          format: date-time
          description: The ISO-8601 UTC timestamp of when the capability was created.
          example: '2021-01-02T00:00:00Z'
        updated_at:
          type: string
          format: date-time
          nullable: true
          description: The ISO-8601 UTC timestamp of when the capability was last updated.
          example: '2021-01-02T00:00:00Z'
    agent:
      type: object
      required:
        - id
        - name
        - last_heartbeat
        - runtime
        - version
        - tags
        - status
        - created_at
      properties:
        id:
          type: string
          description: A system-wide unique ID for the agent.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
        name:
          type: string
          description: The name of the agent.
          nullable: true
          example: my-agent-name
        last_heartbeat:
          type: string
          format: date-time
          description: The ISO-8601 UTC timestamp of the last heartbeat from the agent.
          example: '2021-01-02T00:00:00Z'
        runtime:
          type: string
          description: The runtime of the agent.
          example: k8s
        version:
          type: string
          description: The version of the agent.
          example: 1.0.0
        tags:
          type: object
          description: Object containing key-value pairs representing tags to be matched for applying the configuration.
          example: environment:production,node_name:node-1
        status:
          type: string
          description: The status of the agent.
          enum:
            - active
          example: active
        created_at:
          type: string
          format: date-time
          description: The ISO-8601 UTC timestamp of when the agent was created.
          example: '2021-01-02T00:00:00Z'
        updated_at:
          type: string
          format: date-time
          nullable: true
          description: The ISO-8601 UTC timestamp of when the agent was last updated.
          example: '2021-01-02T00:00:00Z'
        capabilities:
          type: array
          items:
            $ref: '#/components/schemas/capability'
    agentListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/agent'
    agentCommandRequest:
      type: object
      properties:
        selector:
          type: object
          description: |
            The selector for the agent.
          example:
            environment: local
        command:
          type: object
          description: Describes the command the agent will execute.
          properties:
            type:
              type: string
              enum:
                - exec
              description: |
                The command type of the agent.
              example: exec
            data:
              type: object
              description: The command line and environment variables.
              properties:
                cmdline:
                  type: string
                  description: |
                    The command line to be executed.
                    > **Note**: The path to the command line should point to the folder where the agent is installed.
                  example: path-to-cmd-file/cmd
                environment:
                  type: object
                  description: |
                    The environment variables for the command.
                    > **Note**: The environment variables should be in the format `KEY: VALUE`.
                  example:
                    NP_ACTION_CONTEXT: '''${NOTIFICATION_CONTEXT}'
                arguments:
                  type: array
                  items:
                    type: string
                  description: |
                    The arguments to be passed to the command line.
                  example:
                    - arg1
                    - arg2
    agentCommandResponse:
      type: object
      properties:
        selector:
          type: object
          description: |
            The selector for the agent.
          example:
            environment: local
        command:
          type: object
          description: Describes the command the agent will execute.
          properties:
            type:
              type: string
              enum:
                - exec
              description: |
                The command type of the agent.
              example: exec
            data:
              type: object
              description: The command line and environment variables.
              properties:
                cmdline:
                  type: string
                  description: |
                    The command line to be executed.
                    > **Note**: The path to the command line should point to the folder where the agent is installed.
                  example: path-to-cmd-file/cmd
                environment:
                  type: object
                  description: |
                    The environment variables for the command.
                    > **Note**: The environment variables should be in the format `KEY: VALUE`.
                  example:
                    NP_ACTION_CONTEXT: '''${NOTIFICATION_CONTEXT}'
                arguments:
                  type: array
                  items:
                    type: string
                  description: |
                    The arguments to be passed to the command line.
                  example:
                    - arg1
                    - arg2
    configurationDefault:
      type: object
      properties:
        template_id:
          type: string
        template_name:
          type: string
        capability_category:
          type: string
        capability_provider:
          type: string
        default_configuration_id:
          type: string
    logConfig:
      type: object
      properties:
        is_default:
          type: boolean
          description: |-
            Defines whether this log configuration is the default. 
            >
            > **Note**: If true, it requires the `agent:log_config:create-default` permission; otherwise, it requires `agent:log_config:create`.
            >
          enum:
            - true
            - false
        expires_at:
          type: string
          description: If the log configuration is not default, an expiration date must be specified.
          example: '2024-07-12T15:00:00Z'
        account_id:
          type: integer
          description: Applicable if the log specification is at the account level.
          example: 2345
        selector:
          type: object
          description: The tags to be matched to apply the log configuration.
          example:
            environment: production
        configuration:
          type: object
          description: The log configuration as defined in the log specification.
          example:
            log_level: debug
            no_error_sampling: 50
        created_configuration_defaults:
          type: array
          items:
            $ref: '#/components/schemas/configurationDefault'
    logConfigListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/logConfig'
    logConfigCreate:
      type: object
      required:
        - is_default
        - selector
        - configuration
      properties:
        is_default:
          type: boolean
          description: |-
            Defines whether this log configuration is the default.
            >
            > **Note**: If true, it requires the `agent:log_config:create-default` permission; otherwise, it requires `agent:log_config:create`.
            >
          enum:
            - true
            - false
        expires_at:
          type: string
          description: If the log configuration is not default, an expiration date must be specified.
          example: '2024-07-12T15:00:00Z'
        account_id:
          type: integer
          description: Applicable if the log specification is at the account level.
          example: 2345
        selector:
          type: object
          description: The tags to be matched to apply the log configuration
          example:
            environment: production
        configuration:
          type: object
          description: The log configuration as defined in the log specification.
          example:
            log_level: debug
            no_error_sampling: 50
    logSpecResponse:
      type: object
      properties:
        id:
          type: string
          description: The ID of the log specification.
          example: '3456'
        organization_id:
          description: The ID of the organization.
          type: integer
          example: 1234
        account_id:
          type: integer
          example: 2345
          description: The ID of the account.
        templates:
          type: array
          items:
            type: object
            properties:
              add_tags:
                type: object
                additionalProperties:
                  type: string
              template_id:
                type: string
              template_name:
                type: string
              capability_category:
                type: string
              capability_provider:
                type: string
        template_vars:
          type: object
          additionalProperties:
            type: object
            properties:
              type:
                type: string
              required:
                type: boolean
              input_type:
                type: string
              default:
                type: integer
        selector_definition:
          type: object
          additionalProperties:
            type: object
            properties:
              input_type:
                type: string
              allow_wildcard:
                type: boolean
        selector:
          type: object
          additionalProperties:
            type: string
        name:
          type: string
          description: The name of the log.
        created_at:
          type: string
          format: date-time
          description: The ISO-8601 UTC timestamp of when the log was created.
          example: '2021-01-02T00:00:00Z'
        updated_at:
          type: string
          format: date-time
          nullable: true
          description: The ISO-8601 UTC timestamp of when the log was last updated.
          example: '2021-01-02T00:00:00Z'
    logSpecListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/logSpecResponse'
    templateSpec:
      type: object
      properties:
        capability_category:
          type: string
        capability_provider:
          type: string
        template_name:
          type: string
        add_tags:
          type: object
          additionalProperties:
            type: string
    templateVar:
      type: object
      properties:
        input_type:
          type: string
        required:
          type: boolean
        default:
          type: integer
    logSpecRequest:
      type: object
      properties:
        organization_id:
          description: The ID of the organization.
          type: integer
          example: 1234
        account_id:
          description: The ID of the account.
          type: integer
          example: 2345
        templates:
          type: array
          items:
            $ref: '#/components/schemas/templateSpec'
        template_vars:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/templateVar'
        selector_definition:
          type: object
          additionalProperties:
            type: object
            properties:
              input_type:
                type: string
              allow_wildcard:
                type: boolean
        selector:
          type: object
          additionalProperties:
            type: string
    logSpecUpdateRequest:
      type: object
      properties:
        templates:
          type: array
          items:
            $ref: '#/components/schemas/templateSpec'
        template_vars:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/templateVar'
        selector_definition:
          type: object
          additionalProperties:
            type: object
            properties:
              input_type:
                type: string
              allow_wildcard:
                type: boolean
        selector:
          type: object
          additionalProperties:
            type: string
    templateVarTemplate:
      type: object
      properties:
        type:
          type: string
        default:
          oneOf:
            - type: string
            - type: integer
        description:
          type: string
    templateResponse:
      type: object
      properties:
        organization_id:
          type: integer
          example: 1234
          description: The ID of the organization.
        account_id:
          type: integer
          example: 2345
          description: The ID of the account.
        name:
          type: string
          description: The name of the template.
        capability_category:
          type: string
        capability_provider:
          type: string
        content:
          type: string
        content_encoding:
          type: string
        template_vars:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/templateVarTemplate'
    templateListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/templateResponse'
    templateCreationRequest:
      type: object
      properties:
        organization_id:
          description: The ID of the organization.
          type: integer
          example: 1234
        account_id:
          description: The ID of the account.
          type: integer
          example: 2345
        name:
          type: string
          description: The name of the template.
        capability_category:
          type: string
        capability_provider:
          type: string
        content:
          type: string
        content_encoding:
          type: string
        template_vars:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/templateVarTemplate'
    deployment_message:
      type: object
      properties:
        level:
          type: string
          description: The severity level of the message (e.g., INFO, WARNING, ERROR).
          example: INFO
        message:
          type: string
          description: The content of the message.
          example: Deployment started successfully
        code:
          type: string
          description: A unique code identifying the type of message.
          example: DEPLOYMENT_STARTED
        timestamp:
          type: integer
          description: The Unix timestamp when the message was generated.
          example: 1696166096
      required:
        - level
        - message
        - timestamp
      description: Represents a message associated with a deployment, such as logs or status updates.
    deployment:
      type: object
      properties:
        id:
          type: integer
          description: The unique ID for the deployment.
          example: 1
        scope_id:
          type: integer
          description: The ID of the scope where the deployment belongs.
          example: 1234
        release_id:
          type: integer
          description: The ID of the release associated with the deployment.
          example: 5678
        status:
          type: string
          enum:
            - creating_approval
            - creating_approval_denied
            - creating
            - waiting_for_instances
            - running
            - finalizing
            - finalized
            - cancelling
            - cancelled
            - failed
            - rolling_back
            - rolled_back
            - deleting
            - deleted
          description: The current status of the deployment.
          example: running
        status_in_scope:
          type: string
          description: The status of the deployment within its scope.
          example: ACTIVE
        strategy:
          type: string
          description: The deployment strategy being used.
          enum:
            - initial
            - blue_green
          example: blue_green
        strategy_data:
          type: object
          description: Configuration data for the deployment strategy.
          properties:
            switched_traffic:
              type: integer
              description: Current percentage of traffic on the new version (0-100).
              example: 30
            desired_switched_traffic:
              type: integer
              description: Target traffic percentage for the new version.
              example: 50
            amount_instances_to_wait:
              type: integer
              description: Required number of instances before proceeding to the next step.
              example: 5
            healthy_instances:
              type: integer
              description: Current count of healthy instances.
              example: 3
            launched_instances:
              type: integer
              description: Total number of instances launched.
              example: 5
            switch_traffic_step:
              type: boolean
              description: Indicates whether the deployment is in the active traffic switching phase.
              example: true
        created_at:
          type: string
          format: date-time
          description: The timestamp when the deployment was created.
          example: '2023-10-01T12:34:56Z'
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the deployment was last updated.
          example: '2023-10-01T12:34:56Z'
        messages:
          type: array
          description: A list of messages associated with the deployment (e.g., logs, errors, or status updates).
          items:
            $ref: '#/components/schemas/deployment_message'
          example:
            - level: INFO
              message: Deployment started successfully
              code: DEPLOYMENT_STARTED
              timestamp: 1696166096
        deployment_token:
          type: string
          description: A unique token associated with the deployment for authentication or tracking purposes.
          example: abc123xyz
        nrn:
          type: string
          description: The resource name (NRN) uniquely identifying the deployment.
          example: organization=1:account=2:namespace=4:application=4:scope=5
      required:
        - id
        - scope_id
        - release_id
        - status
        - strategy
        - strategy_data
        - created_at
        - updated_at
        - messages
        - deployment_token
        - nrn
      description: Represents a deployment object with all its associated metadata and configuration.
    deploymentsListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/deployment'
    deploymentCreate:
      type: object
      properties:
        scope_id:
          type: integer
          description: The ID of the scope where the deployment will be created.
          example: 1234
        release_id:
          type: integer
          description: The ID of the release associated with the deployment.
          example: 5678
      required:
        - scope_id
        - release_id
      description: Request body for creating a new deployment within a specific scope.
    deployment_update:
      type: object
      properties:
        status:
          type: string
          description: The updated status of the deployment.
          example: finalized
        strategy_data:
          type: object
          description: Configuration data for the deployment strategy.
          properties:
            desired_switched_traffic:
              description: Percentage of desired traffic going to the new version.
              type: integer
              example: 50
        messages:
          type: array
          description: A list of messages associated with the deployment (e.g., logs, errors, or status updates).
          items:
            $ref: '#/components/schemas/deployment_message'
          example:
            - level: INFO
              message: Deployment started successfully
              code: DEPLOYMENT_STARTED
              timestamp: 1696166096
      description: Request body for updating an existing deployment's status or strategy data.
    deploymentGroupObject:
      type: object
      required:
        - scope_id
        - strategy
        - strategy_data
      properties:
        scope_id:
          type: string
          description: The ID of the scope where the deployment belongs.
          example: 12
        strategy:
          type: string
          description: The deployment strategy being used.
          enum:
            - initial
            - blue_green
          example: blue_green
        strategy_data:
          type: object
          description: Configuration data for the deployment strategy.
          properties:
            switched_traffic:
              type: integer
              description: Current percentage of traffic on the new version (0-100).
              example: 30
            desired_switched_traffic:
              type: integer
              description: Target traffic percentage for the new version.
              example: 50
            amount_instances_to_wait:
              type: integer
              description: Required number of instances before proceeding to the next step.
              example: 5
            healthy_instances:
              type: integer
              description: Current count of healthy instances.
              example: 3
            launched_instances:
              type: integer
              description: Total number of instances launched.
              example: 5
            switch_traffic_step:
              type: boolean
              description: Indicates whether the deployment is in the active traffic switching phase.
              example: true
    scopeDeploymentGroup:
      type: object
      properties:
        id:
          type: string
          description: The ID of the scope where the deployment belongs.
          example: 12
        name:
          type: string
          description: The name for the scope.
          example: AR - Staging
    deploymentGroupResponse:
      type: object
      required:
        - id
        - status
        - deployments
        - scopes
        - strategy_data
        - application_id
        - release_id
        - deployments_amount
        - created_by
        - updated_by
        - created_at
        - updated_at
      properties:
        id:
          type: string
          description: The ID of the deployment group.
          example: '1'
        status:
          type: string
          enum:
            - creating_approval
            - creating_approval_denied
            - creating
            - waiting_for_instances
            - running
            - finalizing
            - finalized
            - cancelling
            - cancelled
            - failed
            - rolling_back
            - rolled_back
            - deleting
            - deleted
          description: |
            Status of the deployment group.

            > **Note**: See [Deployments](/docs/deployments) for more information.
            >
          example: running
        deployments:
          type: array
          items:
            $ref: '#/components/schemas/deploymentGroupObject'
        scopes:
          type: array
          items:
            $ref: '#/components/schemas/scopeDeploymentGroup'
        strategy_data:
          type: object
          description: Configuration data for the deployment strategy.
          properties:
            switched_traffic:
              type: integer
              description: Current percentage of traffic on the new version (0-100).
              example: 30
            desired_switched_traffic:
              type: integer
              description: Target traffic percentage for the new version.
              example: 50
            amount_instances_to_wait:
              type: integer
              description: Required number of instances before proceeding to the next step.
              example: 5
            healthy_instances:
              type: integer
              description: Current count of healthy instances.
              example: 3
            launched_instances:
              type: integer
              description: Total number of instances launched.
              example: 5
            switch_traffic_step:
              type: boolean
              description: Indicates whether the deployment is in the active traffic switching phase.
              example: true
        application_id:
          type: string
          description: The ID of the application the deployment group belongs to.
          example: '6789'
        release_id:
          type: string
          description: The ID of the release associated with the deployment.
          example: '5678'
        deployments_amount:
          type: integer
          description: Number of deployments in the group
          example: 5
        created_by:
          type: string
          description: The user ID of the creator of the deployment group.
          example: 991
        updated_by:
          type: string
          description: The user ID of the last person who updated the deployment group.
          example: 992
        created_at:
          type: string
          format: date-time
          description: The ISO-8601 UTC timestamp of when the deployment group was created.
          example: '2023-10-01T12:34:56Z'
        updated_at:
          type: string
          format: date-time
          description: The ISO-8601 UTC timestamp of when the deployment group was last updated.
          example: '2023-10-01T12:34:56Z'
    deploymentGroupPaginatedResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/deploymentGroupResponse'
    deploymentGroupCreateRequest:
      type: object
      required:
        - release_id
        - deployments
      properties:
        release_id:
          type: string
          description: The ID of the release to deploy.
          example: '6789'
        deployments:
          type: array
          description: A list of deployment objects to be included in the deployment group.
          items:
            $ref: '#/components/schemas/deploymentGroupObject'
          example:
            - scope_id: '1234'
              strategy: blue_green
              strategy_data:
                switched_traffic: 30
                desired_switched_traffic: 50
                amount_instances_to_wait: 5
                healthy_instances: 3
                launched_instances: 5
                switch_traffic_step: true
      description: Request body for creating a new deployment group with multiple deployments.
    deploymentGroupUpdateRequest:
      type: object
      properties:
        status:
          type: string
          description: |
            Status of the deployment group.

            > **Note**: See [Deployments](/docs/deployments) for more information.
            >
          example: running
        strategy_data:
          type: object
          description: Configuration data for the deployment strategy.
          properties:
            switched_traffic:
              type: integer
              description: Current percentage of traffic on the new version (0-100).
              example: 30
            desired_switched_traffic:
              type: integer
              description: Target traffic percentage for the new version.
              example: 50
            amount_instances_to_wait:
              type: integer
              description: Required number of instances before proceeding to the next step.
              example: 5
            healthy_instances:
              type: integer
              description: Current count of healthy instances.
              example: 3
            launched_instances:
              type: integer
              description: Total number of instances launched.
              example: 5
            switch_traffic_step:
              type: boolean
              description: Indicates whether the deployment is in the active traffic switching phase.
              example: true
    runtime_configuration_dimension_value:
      type: object
      properties:
        id:
          type: integer
          description: A system-wide unique ID representing the value.
          example: 9876
        name:
          type: string
          description: The name of the dimension value.
          example: Staging
        status:
          type: string
          description: The status of this runtime configuration dimension value.
          enum:
            - active
            - inactive
          example: active
        slug:
          type: string
          description: A string representing the dimension value.
          example: staging
        nrn:
          type: string
          description: NRN (at or below) where the dimension value applies.
          example: organization=1:account=2:namespace=3:application=4
    runtime_configuration_dimension:
      type: object
      properties:
        id:
          type: integer
          description: A system-wide unique ID representing the dimension.
          example: 1234
        name:
          type: string
          description: The name of the dimension
          example: Environment
        status:
          type: string
          description: The status of this dimension.
          enum:
            - active
            - inactive
          example: active
        slug:
          type: string
          description: A name-derived string representing the dimension.
          example: environment
        nrn:
          type: string
          description: NRN (at or below) where the dimension applies.
          example: organization=1:account=2:namespace=3:application=4
        order:
          type: integer
          minimum: 1
          description: The priority this dimension has whenever runtime configuration values are merged (lower prelates higher numbers).
          example: 1
        values:
          type: object
          $ref: '#/components/schemas/runtime_configuration_dimension_value'
          description: The values available for this dimension.
    runtime_configuration_dimension_list:
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/runtime_configuration_dimension'
    runtime_configuration_dimensionCreate:
      type: object
      required:
        - name
        - nrn
      properties:
        name:
          type: string
          description: The name of the dimension
          example: Environment
        nrn:
          type: string
          description: NRN (at or below) where the dimension applies
          example: organization=1:account=2:namespace=3:application=4
        order:
          type: integer
          minimum: 1
          description: The priority this dimension will have whenever runtime configuration values are merged (lower prelates higher numbers).
          example: 1
    runtime_configuration_dimensionWrite:
      type: object
      properties:
        status:
          type: string
          enum:
            - active
            - inactive
          example: active
        order:
          type: integer
          minimum: 1
          description: The priority this dimension will have whenever runtime configuration values are merged (lower prelates higher numbers)
          example: 1
    runtime_configuration_dimension_value_list:
      type: object
      properties:
        paging:
          type: object
          properties:
            offset:
              type: integer
              description: The start of the paging window. Minimum is 0.
            limit:
              type: integer
              description: Maximum number of elements to retrieve per call. Maximum is 200.
            total:
              type: integer
              description: Total number of elements that can be retrieved.
        results:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
                description: A system-wide unique ID representing the value.
                example: 1234
              name:
                type: string
                description: The name of the dimension value.
                example: Staging
              status:
                type: string
                description: The status of this runtime configuration dimension value.
                enum:
                  - active
                  - inactive
                example: active
              slug:
                type: string
                description: A string representing the dimension value.
                example: staging
              nrn:
                type: string
                description: NRN (at or below) where the dimension value applies.
                example: organization=1:account=2:namespace=3:application=4
    runtime_configuration_dimension_valueCreate:
      type: object
      required:
        - nrn
        - name
      properties:
        name:
          type: string
          description: The name of the dimension value.
          example: Development
        nrn:
          type: string
          description: NRN (at or below) where the dimension value applies.
          example: organization=1:account=2:namespace=3:application=4
    runtime_configuration_dimension_valueWrite:
      type: object
      properties:
        name:
          type: string
          description: The name of the dimension value.
          example: Development
        status:
          type: string
          description: The status of the dimension value.
          enum:
            - active
            - inactive
          example: active
    entityHook:
      type: object
      required:
        - id
        - nrn
        - entity
        - action
        - on_policy_success
        - on_policy_fail
        - when
        - type
        - 'on'
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the entity hook.
          example: 550e8400-e29b-41d4-a716-446655440000
        nrn:
          type: string
          description: A resource identifier (NRN) specifying where this action applies.
          example: organization=1:account=2:namespace=3:application=4
        entity:
          type: string
          description: The type of entity affected by this entity hook action.
          enum:
            - application
            - scope
            - deployment
          example: scope
        action:
          type: string
          description: The specific action you want to be notified about.
          enum:
            - deployment:create
            - deployment:write
            - deployment:delete
            - scope:create
            - scope:write
            - scope:delete
            - application:create
            - application:write
            - application:delete
          example: scope:create
        dimensions:
          type: object
          description: Key-value pairs defining the scope of the action.
          example:
            environment: production
            country: us
        on_policy_success:
          type: string
          enum:
            - manual
          description: |
            The action to be taken on the entity hook success.

            > **Note:** Currently, only "manual" is supported.
          example: manual
        on_policy_fail:
          type: string
          enum:
            - manual
          description: |
            The action to be taken on entity hook failure."

              > **Note:** Currently, only "manual" is supported.
          example: manual
        when:
          type: string
          enum:
            - before
          description: |
            Specifies whether the hook occurs before or after nullplatform's internal logic.

            > **Note:** Currently, only "before" is supported.
          example: before
        type:
          type: string
          enum:
            - hook
          description: |
            The type of entity hook action.

            > **Note:** Currently, only "hook" is supported.
          example: hook
        'on':
          type: string
          enum:
            - create
            - update
            - delete
          description: Specifies the type of action that triggers the hook.
          example: create
        policies:
          type: array
          description: |
            The policies applied to the entity.

            > ℹ️ If no policies are found, we return an empty array.
          items:
            type: object
            properties:
              id:
                type: integer
                description: A unique identifier for the policy.
                example: 5678
              nrn:
                type: string
                description: A resource identifier (NRN) specifying where the policy applies.
                example: organization=1:account=2:namespace=3:application=4
              name:
                type: string
                description: The name of the policy.
                example: Crypto Kong Policies
              conditions:
                type: object
                description: A JSON object defining the conditions under which this policy applies.
                example:
                  scope.requested_spec.memory_in_gb:
                    $lte: 4
    entityHookListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/entityHook'
    entityHook_create:
      type: object
      required:
        - nrn
        - entity
        - action
        - when
        - type
        - 'on'
      properties:
        nrn:
          type: string
          description: A resource identifier (NRN) specifying where this action applies.
          example: organization=1:account=2:namespace=3:application=4
        entity:
          type: string
          description: The type of entity affected by this entity hook action.
          enum:
            - application
            - scope
            - deployment
          example: scope
        action:
          type: string
          description: The specific action you want to be notified about.
          enum:
            - deployment:create
            - deployment:write
            - deployment:delete
            - scope:create
            - scope:write
            - scope:delete
            - application:create
            - application:write
            - application:delete
          example: scope:create
        dimensions:
          type: object
          description: Key-value pairs defining the scope of the action.
          example:
            environment: production
            country: us
        when:
          type: string
          enum:
            - before
          description: |
            Specifies whether the hook occurs before or after nullplatform's internal logic.

            > **Note:** Currently, only "before" is supported.
          example: before
        type:
          type: string
          enum:
            - hook
          description: |
            The type of entity hook action.

            > **Note:** Currently, only "hook" is supported.
          example: hook
        'on':
          type: string
          enum:
            - create
            - update
            - delete
          description: Specifies the type of action that triggers the hook.
          example: create
    entityHook_write:
      type: object
      properties:
        when:
          type: string
          enum:
            - before
          description: |
            Specifies whether the hook occurs before or after nullplatform's internal logic.

            > **Note:** Currently, only "before" is supported.
          example: before
        type:
          type: string
          enum:
            - hook
          description: |
            The type of entity hook action.

            > **Note:** Currently, only "hook" is supported.
          example: hook
        'on':
          type: string
          enum:
            - create
            - update
            - delete
          description: Specifies the type of action that triggers the hook.
          example: create
    def-8:
      title: Dimension
      type: object
      additionalProperties:
        type: string
        minLength: 1
        not:
          enum:
            - null
        description: Key-value pairs representing dimensions. Each key must be a non-null string with a minimum length of 1
      description: Object representing dimensions with key-value pairs
    def-6:
      title: Selector
      type: object
      properties:
        imported:
          type: boolean
          default: false
        provider:
          type: string
          minLength: 1
          default: any
        category:
          type: string
          minLength: 1
          default: any
        sub_category:
          type: string
          minLength: 1
          default: any
      additionalProperties:
        anyOf:
          - type: string
            minLength: 1
          - type: number
          - type: boolean
          - type: 'null'
      description: Key-value object representing instance selectors
    def-33:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/def-1'
        name:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Name of the entity. Must be a non-empty string and not equal to null
        slug:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Slug of the entity. Automatically generated from "name"
        specification_id:
          $ref: '#/components/schemas/def-1'
          description: Unique identifier for the specification associated with the entity
        desired_specification_id:
          anyOf:
            - $ref: '#/components/schemas/def-1'
            - type: 'null'
          description: Desired unique identifier for the associated specification
        messages:
          $ref: '#/components/schemas/def-5'
          description: Object representing instance messages with severity levels
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
        status:
          type: string
          enum:
            - pending_create
            - pending
            - creating
            - updating
            - active
            - failed
            - cancelled
          description: Status of the link. Should be one of the specified values in the enumeration
        service_id:
          $ref: '#/components/schemas/def-1'
          description: Unique identifier for the associated service
        dimensions:
          $ref: '#/components/schemas/def-8'
          description: Object representing dimensions restrictions with key-value pairs
        attributes:
          type: object
          description: Attributes associated with the link, should be valid against the link specification attribute schema
        entity_nrn:
          $ref: '#/components/schemas/def-2'
        selectors:
          $ref: '#/components/schemas/def-6'
          description: Key-value object representing link selectors
      description: Object representing link instances
      additionalProperties: false
      title: Link
      example:
        name: my-link
        service_id: 9548393c-f1d1-4bbc-97a6-c3968862f2a4
        specification_id: 5a872c9a-9a16-4a6d-a000-d0e7404a15aa
        entity_nrn: organization=1:account=1:namespace=1:application=1
        dimensions:
          environment: production
        attributes:
          my_link_attribute: my_value
    def-45:
      title: Action
      properties:
        id:
          $ref: '#/components/schemas/def-1'
        name:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Name of the entity. Must be a non-empty string and not equal to null
        slug:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Slug of the entity. Automatically generated from "name"
        specification_id:
          $ref: '#/components/schemas/def-1'
          description: Unique identifier for the specification associated with the entity
        desired_specification_id:
          anyOf:
            - $ref: '#/components/schemas/def-1'
            - type: 'null'
          description: Desired unique identifier for the associated specification
        messages:
          $ref: '#/components/schemas/def-5'
          description: Object representing instance messages with severity levels
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
        status:
          type: string
          enum:
            - pending_create
            - pending
            - in_progress
            - success
            - failed
            - cancelled
          description: Status of the action. Should be one of the specified values in the ActionStatus enumeration
        parameters:
          type: object
          description: Parameters associated with the action
        results:
          type: object
          description: Results produced by the action
        service_id:
          $ref: '#/components/schemas/def-1'
          description: Unique identifier for the associated service
        link_id:
          $ref: '#/components/schemas/def-1'
          description: Unique identifier for the associated link
      description: Object representing instances
      type: object
      additionalProperties: false
    def-4:
      title: Visibility
      type: array
      description: Array representing visibility settings for the entity. Specifies what/who can see this entity
      items:
        $ref: '#/components/schemas/def-2'
    def-9:
      title: Specification Dimension
      type: object
      properties: {}
      additionalProperties:
        type: object
        properties:
          required:
            type: boolean
          values:
            type: array
            items:
              type: string
        additionalProperties: false
        required:
          - required
    def-27:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/def-1'
        name:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Name of the entity. Must be a non-empty string and not equal to null
        slug:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Slug of the specification. Automatically generated from "name"
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
        visible_to:
          $ref: '#/components/schemas/def-4'
          description: Array representing visibility settings for the link specification. Specifies what/who can create a link based on this specification
          default: []
        unique:
          type: boolean
          description: Indicates whether the service can be linked only once by an instance of this link specification
        specification_id:
          $ref: '#/components/schemas/def-1'
          description: Unique identifier for the associated service specification
        dimensions:
          $ref: '#/components/schemas/def-9'
        assignable_to:
          type: string
          enum:
            - any
            - dimension
            - scope
          description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
        attributes:
          $ref: '#/components/schemas/def-7'
        selectors:
          $ref: '#/components/schemas/def-6'
          description: Key-value object representing link specification selectors
        use_default_actions:
          type: boolean
          description: Specifies if the link specification should use default actions. Default is false
      description: Object representing link specifications
      additionalProperties: false
      title: LinkSpecification
      example:
        name: my-link-specification
        specification_id: eb0b880a-b7e4-42b8-98f9-40c262c59a23
        unique: true
        dimensions:
          environment:
            required: true
            values:
              - production
              - staging
        assignable_to: any
        attributes:
          schema:
            type: object
            properties:
              my_string_property:
                type: string
              my_number_property:
                type: number
                default: 0
            required:
              - my_string_property
          values: {}
    schemas-def-2:
      title: NRN
      type: string
      pattern: ^organization=(\d+|\*)+(?::account=(\d+|\*))?(?::namespace=(\d+|\*))?(?::application=(\d+|\*))?(?::(build|scope|release|asset|deployment)=(\d+|\*))?$
      description: Nullplatform Resource Name (NRN) representing a hierarchical identifier for nullplatform resources.
    schemas-def-4:
      type: array
      title: Tags
      description: An array of exposed metadata attributes as tags, each containing a key and a value.
      items:
        type: object
        properties:
          key:
            type: string
            description: The key of the tag.
          value:
            type: string
            description: The value of the tag.
        required:
          - key
          - value
        additionalProperties: false
    schemas-def-1:
      title: Id
      type: string
      format: uuid
      description: Unique ID for the entity, in UUID format.
    def-17:
      title: MetadataSpecification
      type: object
      properties:
        id:
          $ref: '#/components/schemas/schemas-def-1'
        name:
          type: string
          minLength: 1
          description: 'Catalog specification name, for example: Build Coverage, Application Frameworks, Build Vulnerabilities.'
        nrn:
          $ref: '#/components/schemas/schemas-def-2'
          description: NRN where the catalog specification is defined.
        entity:
          type: string
          description: Parent entity that holds metadata information.
          enum:
            - organization
            - account
            - namespace
            - application
            - build
            - asset
            - scope
            - release
            - deployment
            - user
        metadata:
          type: string
          nullable: true
          minLength: 1
          description: 'Entity metadata key, for example: coverage, frameworks, vulnerabilities.'
        description:
          type: string
          minLength: 1
          description: Catalog specification description.
        schema:
          type: object
          default: {}
          description: Catalog specification schema. Must be a valid JSON Schema.
      description: Object representing a catalog specification for a nullplatform entity
      example:
        id: 134544a6-a089-43ba-9d52-5b6e6e4fa8d1
        name: Namespace tags
        description: Add tags as key-value object to namespace entities
        nrn: organization=1
        entity: namespace
        metadata: tags
        schema:
          type: object
          properties:
            my_string_property:
              type: string
              tag: true
            my_number_property:
              type: number
              default: 0
              tag: my_custom_tag_name
            my_object_property:
              type: object
              properties:
                my_nested_property:
                  type: string
          required:
            - my_string_property
          additionalProperties: false
    components-schemas-MetadataComponent:
      type: object
      description: The metadata loaded via metadata catalog API.
      example:
        key: value
      properties:
        key:
          type: string
          description: The key of the metadata.
        value:
          type: string
          description: The value of the metadata.
        additional_properties:
          type: object
          description: Additional properties of the metadata.
          properties:
            schemas:
              type: array
              description: The schemas of the metadata, in JSON format.
            tags:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                  value:
                    type: string
    namespace:
      type: object
      required:
        - id
        - name
        - slug
        - organization_id
        - repository_provider
        - repository_prefix
        - status
        - account_id
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the namespace.
          example: 234
        name:
          type: string
          maxLength: 60
          description: The name of the namespace.
          example: Crypto Kong Billing
        status:
          type: string
          description: The status of the namespace.
          enum:
            - active
            - inactive
          example: active
        slug:
          maxLength: 60
          type: string
          description: An account-wide unique slug for the namespace.
          example: crypto-kong-billing
        account_id:
          type: integer
          description: The ID of the account that owns this namespace.
          example: 123
        metadata:
          $ref: '#/components/schemas/components-schemas-MetadataComponent'
    schemas-accountListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/namespace'
    namespaceCreate:
      type: object
      required:
        - name
        - account_id
      properties:
        name:
          example: Crypto Kong Billing
          type: string
          maxLength: 60
          description: The name of the namespace. Represents a department, team, or logical unit within your organization.
        account_id:
          example: 1234
          type: integer
          description: The ID of the account that owns this namespace.
    namespace_write:
      type: object
      properties:
        name:
          example: Crypto Kong Billing
          type: string
          maxLength: 60
          description: |
            The name of the namespace. Represents a department, team, or logical unit within your organization.

             > ℹ️ **Note:** Changing the namespace's name **does not change the slug**, 
             as doing so could break connections with existing applications and services.
        status:
          type: string
          enum:
            - active
            - inactive
          example: active
    source:
      type: array
      description: A list of sources that this notification channel will listen to. Each source represents a specific type of notification.
      example:
        - approval
      items:
        type: string
        enum:
          - approval
          - service
          - audit
          - alert
          - entity
          - telemetry
          - parameter
    type:
      type: string
      description: The type of notification channel.
      example: slack
      enum:
        - slack
        - http
        - github
        - gitlab
        - azure
        - agent
    slack:
      type: object
      properties:
        token:
          type: string
          description: The Slack token.
          example: the-slack-token
        channels:
          type: array
          items:
            type: string
          description: An array of Slack channels.
          example:
            - nullplatform-approvals
      example:
        token: the-slack-token
        channels:
          - my-organization-private-channel
    http:
      type: object
      properties:
        url:
          type: string
          description: The URL where the notifications will be sent.
          example: https://my-domain.com/my-notifications-url
        headers:
          type: object
          description: The headers to be sent with the request.
          example:
            Authorization: Bearer the-token
      example:
        url: https://yourdomain.com/url-you-configured
        headers:
          Authorization: Bearer the-token
    github:
      type: object
      properties:
        installation_id:
          type: string
          description: The GitHub installation ID.
          example: my-installation-id
        account:
          type: string
          description: The GitHub account or organization.
          example: my-github-org
        repository:
          type: string
          description: The GitHub repository.
          example: services-opentofu
        reference:
          type: string
          description: The reference to the GitHub repository.
          example: main
        workflow_id:
          type: string
          description: The ID of the GitHub workflow.
          example: provisioning.yml
      example:
        installation_id: my-installation-id
        account: my-github-org
        repository: services-opentofu
        reference: main
        workflow_id: provisioning.yml
    gitlab:
      type: object
      properties:
        reference:
          type: string
          description: The reference to the GitLab project. This can be the project name or ID.
          example: main
        project_id:
          type: string
          description: The ID of the GitLab project.
          example: '1234'
      example:
        reference: main
        project_id: '1234'
    azure:
      type: object
      properties:
        organization:
          type: string
          description: The Azure DevOps organization.
          example: my-azure-org
        project:
          type: string
          description: The Azure DevOps project.
          example: my-azure-project
        pipeline_id:
          type: integer
          description: The ID of the Azure DevOps pipeline.
          example: 1234
        reference:
          type: string
          description: The reference to the Azure DevOps pipeline.
          example: main
      example:
        organization: my-azure-org
        project: my-azure-project
        pipeline_id: 1234
        reference: main
    schemas-agent:
      type: object
      properties:
        api_key:
          type: string
          description: The API key for the agent.
          example: AAAA.1234567890abcdef1234567890abcdefPTs=
        command:
          type: object
          description: Describes the command the agent will execute.
          properties:
            data:
              type: object
              description: The command line and environment variables.
              properties:
                cmdline:
                  type: string
                  description: |
                    The command line to be executed.
                    > **Note**: The path to the command line should point to the folder where the agent is installed.
                  example: path-to-entrypoint-file/entrypoint --service-path="$SERVICE_PATH"
                environment:
                  type: object
                  description: |
                    The environment variables for the command.
                    > **Note**: The environment variables should be in the format `KEY: VALUE`.
                  example:
                    NP_ACTION_CONTEXT: '''${NOTIFICATION_CONTEXT}'
                arguments:
                  type: array
                  items:
                    type: string
                  description: |
                    The arguments to be passed to the command line.
                  example:
                    - arg1
                    - arg2
            type:
              type: string
              enum:
                - exec
              description: |
                The command type of the agent.
                > **Note**: Currently, the only supported type is `exec`.
              example: exec
        selector:
          type: object
          description: |
            The selector for the agent.
          example:
            environment: local
    notificationChannel:
      type: object
      required:
        - id
        - nrn
        - type
        - configuration
      properties:
        id:
          type: string
          format: uuid
          description: The unique ID for the notification channel.
          example: 1180cd02-1c36-4274-8e7a-4483b87e8f2e
        nrn:
          type: string
          description: The NRN of the resource (including children resources) where the action will apply.
          example: organization=1:account=2:namespace=3:application=4
        source:
          $ref: '#/components/schemas/source'
        type:
          $ref: '#/components/schemas/type'
        configuration:
          type: object
          description: The configuration object for the notification channel.
          oneOf:
            - $ref: '#/components/schemas/slack'
            - $ref: '#/components/schemas/http'
            - $ref: '#/components/schemas/github'
            - $ref: '#/components/schemas/gitlab'
            - $ref: '#/components/schemas/azure'
            - $ref: '#/components/schemas/schemas-agent'
        filters:
          type: object
          description: |-
            A flexible object that uses MongoDB query syntax to define criteria for filtering notifications.

            > **Note**: See [Notification filters](/docs/notifications/filters) for more info.
          example:
            action: deployment:create
    ChannelList:
      properties:
        paging:
          type: object
          properties:
            offset:
              type: integer
              description: The start of the paging window. Minimum is 0.
            limit:
              type: integer
              description: Maximum number of elements to retrieve per call. Maximum is 200.
            total:
              type: integer
              description: Total number of elements that can be retrieved.
        results:
          type: array
          items:
            $ref: '#/components/schemas/notificationChannel'
    notificationChannelCreate:
      type: object
      required:
        - nrn
        - type
        - configuration
      properties:
        nrn:
          type: string
          description: The NRN of the resource (including children resources) where the action will apply.
          example: organization=1:account=2:namespace=3:application=4
        source:
          $ref: '#/components/schemas/source'
        type:
          $ref: '#/components/schemas/type'
        configuration:
          description: The configuration object for the notification channel.
          type: object
          oneOf:
            - $ref: '#/components/schemas/slack'
            - $ref: '#/components/schemas/http'
            - $ref: '#/components/schemas/github'
            - $ref: '#/components/schemas/gitlab'
            - $ref: '#/components/schemas/azure'
            - $ref: '#/components/schemas/schemas-agent'
          example:
            token: the-slack-token
            channels:
              - nullplatform-approvals
        filters:
          type: object
          description: |-
            A flexible object that uses MongoDB query syntax to define criteria for filtering notifications.

            > **Note**: See [Notification filters](/docs/notifications/filters) for more info.
          example:
            action: deployment:create
    notificationChannelWrite:
      type: object
      properties:
        nrn:
          type: string
          description: The NRN of the resource (including children resources) where the action will apply.
          example: organization=1:account=2:namespace=3:application=4
        source:
          $ref: '#/components/schemas/source'
        type:
          $ref: '#/components/schemas/type'
        configuration:
          type: object
          description: The configuration object for the notification channel.
          oneOf:
            - $ref: '#/components/schemas/slack'
            - $ref: '#/components/schemas/http'
            - $ref: '#/components/schemas/github'
            - $ref: '#/components/schemas/gitlab'
            - $ref: '#/components/schemas/azure'
            - $ref: '#/components/schemas/schemas-agent'
        filters:
          type: object
          description: |-
            A flexible object that uses MongoDB query syntax to define criteria for filtering notifications.

            > **Note**: See [Notification filters](/docs/notifications/filters) for more info.
          example:
            action: deployment:create
    NrnCreate:
      type: object
      description: An object where keys represent NRN values or profiles.
      example:
        aws.lambdaFunctionName: MyFunction
        development::aws.log_reader_role: dev_role
        production::aws.log_reader_role: prod_role
    nrn:
      type: object
      required:
        - nrn
        - namespaces
        - profiles
      properties:
        nrn:
          type: string
          description: A system-wide unique ID for resource.
          example: organization=1:account=2
        namespaces:
          type: object
          description: An object where each key represents a namespace, and its value is an object containing key-value pairs.
          example:
            namespaces:
              global:
                some-key: some-value
        profiles:
          type: object
          description: An object containing the profiles available for this NRN.
          example:
            profiles:
              development:
                some-namespace:
                  some-key: some-value
                production:
                  some-namespace:
                    some-key: another-value
    NrnWrite:
      type: object
      description: An object where keys represent NRN values or profiles
      example:
        aws.lambdaFunctionName: NewFunctionValue
    organization:
      type: object
      required:
        - id
        - name
        - slug
        - status
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the organization.
          example: 9823413412
        name:
          type: string
          maxLength: 60
          description: The organization name.
          example: Crypto Inc.
        slug:
          maxLength: 70
          type: string
          description: The organization slug.
          example: crypto-inc
        status:
          type: string
          description: The status of the organization.
          enum:
            - active
            - inactive
          example: active
        metadata:
          $ref: '#/components/schemas/MetadataComponent'
    organization_write:
      type: object
      properties:
        name:
          description: |
            The name of the organization.

            > ℹ️ **Note:** Changing the organization's name **does not change the slug**, 
             as doing so could break connections with existing applications and services.
          type: string
          example: Crypto Inc.
        status:
          description: The status of the organization.
          type: string
          enum:
            - active
            - inactive
          example: active
    parameter_type:
      example: environment
      description: The type of the parameter.
      type: string
      enum:
        - environment
        - ' file'
    parameter_encoding:
      example: plaintext
      description: The encoding of the parameter value.
      type: string
      enum:
        - plaintext
        - ' base64'
    parameter_value:
      type: object
      required:
        - id
        - nrn
        - created_at
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the value.
          example: 1234
        nrn:
          type: string
          description: The NRN of the application which the parameter belongs to.
          example: organization=1:account=2:namespace=3:application=4
        created_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the parameter value was created.
          format: date-time
          example: '2021-01-02T00:00:00Z'
        value:
          type: string
          nullable: true
          description: |
            The value of the parameter.<br><br>
            > **Note:** If `show_secret_values` is set to `true`, the value is **only visible to users with the required permission**. See [Accessing secret values](/docs/parameters/secret-visibility) for more details.
          example: '200'
        location:
          type: string
          description: The file path. Applicable only for files; null otherwise. Also null for secrets.
          example: null
        external:
          type: object
          nullable: true
          description: |
            Object containing the external ID and engine of the value. 
            >  **Note:** Applicable only for parameters stored in your own (external) infrastructure.
          required:
            - id
            - engine
          properties:
            id:
              description: The external ID of the value.
              type: string
              example: external_id_123
            engine:
              description: |
                The engine of the value. 

                > **Note:** At the moment, only `hcp_vault` is supported.
              type: string
              example: hcp_vault
        dimensions:
          type: object
          description: The dimensions of the value.
          example:
            environment: development
            country: US
    parameterResponse:
      type: object
      required:
        - id
        - name
        - nrn
        - type
        - encoding
        - secret
        - read_only
        - values
        - version_id
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the parameter.
          example: 1234
        name:
          type: string
          description: The name of the parameter.
          example: Pool Size
        nrn:
          type: string
          description: The NRN of the application which the parameter belongs to.
          example: organization=1:account=2:namespace=3:application=4
        type:
          $ref: '#/components/schemas/parameter_type'
        encoding:
          $ref: '#/components/schemas/parameter_encoding'
        variable:
          type: string
          description: The name of the environment variable. Required when `type` is `environment`.
        destination_path:
          type: string
          description: The full file path. Required when `type` is `file`.
        secret:
          type: boolean
          description: Indicates whether the value is a secret. `true` if it is a secret, `false` otherwise.
          enum:
            - true
            - false
        read_only:
          type: boolean
          description: Indicates whether the value is read-only. `true` if it is read-only, `false` otherwise.
          enum:
            - true
            - false
        version_id:
          type: integer
          description: A system-wide unique ID for the parameter version.
          example: 12341234
        values:
          type: array
          items:
            description: The parameter values for this application or scopes.
            $ref: '#/components/schemas/parameter_value'
    ParameterList:
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/parameterResponse'
    parameter_create_request:
      type: object
      description: An application parameter
      required:
        - name
        - nrn
        - type
        - encoding
        - secret
        - read_only
        - values
      properties:
        name:
          type: string
          description: The name of the parameter.
          example: Pool Size
        nrn:
          type: string
          description: The NRN of the application which the parameter belongs to.
          example: organization=1:account=2:namespace=3:application=4
        type:
          $ref: '#/components/schemas/parameter_type'
        encoding:
          $ref: '#/components/schemas/parameter_encoding'
        secret:
          type: boolean
          description: Indicates whether the value is a secret. `true` if it is a secret, `false` otherwise.
          enum:
            - true
            - false
        read_only:
          type: boolean
          description: Indicates whether the value is read-only. `true` if it is read-only, `false` otherwise.
          enum:
            - true
            - false
        variable:
          type: string
          description: The name of the environment variable. Required when `type` is `environment`.
        destination_path:
          type: string
          description: The full file path. Required when `type` is `file`.
      example:
        name: Pool Size
        nrn: organization=1:account=2:namespace=3:application=4
        type: environment
        encoding: plaintext
        variable: POOL_SIZE
        secret: false
        read_only: false
    parameter_write_request:
      type: object
      properties:
        variable:
          type: string
          description: The name of the environment variable when the `type` property is set to `environment`.
          example:
            variable: POOL_SIZE
    parameter_value_create_request:
      type: object
      description: A parameter value.
      required:
        - nrn
        - value
      properties:
        origin_version:
          type: integer
          description: |
            The ID of the parameter version. Use this field to create a new value by copying values from a specific version (i.e., roll back).

            > **Note**: You can retrieve the version ID by calling the [List parameter versions](/docs/api/parameter-version-list) endpoint.
          example: 1
        nrn:
          type: string
          description: |-
            The NRN of the application or scope to which the value applies.

            > **Note**: For dimension settings, the NRN must be at the application-level.
            >
          example: organization=1:account=2:namespace=3:application=4:scope=5
        value:
          type: string
          description: The content of the value. **Cannot** exceed 2KB for environment variables and 2MB for files.
          example: '200'
        dimensions:
          type: object
          description: The dimensions of the value.
          example:
            environment: development
            country: US
    parameter_values_multi_create_request:
      type: object
      description: Multiple parameter values.
      required:
        - values
      properties:
        origin_version:
          type: integer
          description: |
            The ID of the parameter version. Use this field to create a new value by copying values from a specific version (i.e., roll back).

            > **Note**: You can retrieve the version ID by calling the [List parameter versions](/docs/api/parameter-version-list) endpoint.
          example: 1
        values:
          type: array
          items:
            type: object
            description: A parameter value.
            required:
              - nrn
              - value
            properties:
              nrn:
                type: string
                description: |-
                  The NRN of the application or scope to which the value applies.

                  > **Note**: For dimension settings, the NRN must be at the application-level.
                  >
                example: organization=1:account=2:namespace=3:application=4:scope=5
              value:
                type: string
                description: The content of the value. **Cannot** exceed 2KB for environment variables and 2MB for files.
                example: '200'
              dimensions:
                type: object
                description: The dimensions of the value.
                example:
                  environment: development
                  country: US
    parameter_version:
      type: object
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the version.
          example: 456
        created_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the version was created.
          format: date-time
          example: '2021-01-02T00:00:00Z'
        user_id:
          type: integer
          description: The ID of the user who created the version.
          example: 987
    parameter_versions:
      properties:
        paging:
          type: object
          properties:
            offset:
              type: integer
              description: The start of the paging window. Minimum is 0.
            limit:
              type: integer
              description: Maximum number of elements to retrieve per call. Maximum is 200.
            total:
              type: integer
              description: Total number of elements that can be retrieved.
        results:
          type: array
          items:
            $ref: '#/components/schemas/parameter_version'
    def-3:
      title: NRN
      type: string
      pattern: ^organization=[0-9*]+(:account=[0-9*]+)?(:namespace=[0-9*]+)?(:application=[0-9*]+)?(:scope=[0-9*]+)?$
      description: Nullplatform Resource Name (NRN) representing a hierarchical identifier for nullplatform resources
    def-16:
      type: object
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/def-0'
        nrn:
          $ref: '#/components/schemas/def-3'
        specification_id:
          $ref: '#/components/schemas/def-0'
        attributes:
          type: object
          description: Provider-specific attributes defined in the specification schema
        dimensions:
          type: object
          description: NRN-specific dimensions. [Read more](/docs/dimensions)
        tags:
          type: array
          description: Tags associated with the provider
          items:
            type: object
            properties:
              key:
                type: string
                description: Tag key
              value:
                type: string
                description: Tag value
              id:
                $ref: '#/components/schemas/def-0'
                description: Tag ID
            required:
              - key
              - value
              - id
            additionalProperties: false
        groups:
          type: array
          items:
            type: string
          description: Groups associated with the provider
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
        updated_at:
          type: string
          format: date-time
          description: Last update timestamp
      title: ProviderRead
      description: Object representing a provider resource
      example:
        id: a3f1c2d4-e5b6-7890-ab12-cdef34567890
        nrn: organization=1:account=1:namespace=1
        dimensions:
          enviroment: production
        specification_id: 02fd22f1-6bf9-41aa-9b58-29d50f725855
        attributes:
          cluster:
            id: my-np-gcp-prod
            location: s-west1
            namespace: my-namespace
          gateway:
            public_name: my-public-gateway
            private_name: my-private-gateway
        tags:
          - id: 4e2306de-82e3-4b74-a419-e0e324beb500
            key: cluster.id
            value: my-np-gcp-prod
        created_at: '2024-10-15T08:30:00Z'
        updated_at: '2024-10-20T14:45:00Z'
      required:
        - id
        - nrn
        - specification_id
        - attributes
        - created_at
        - updated_at
    components-schemas-def-1:
      title: IdList
      type: string
      pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
      description: List of unique identifiers for the entity represented as a comma-separated list of UUID
    semver:
      type: string
      description: A version identifier following Semantic Versioning (SemVer) conventions."
      example: 1.0.1-rc1
    release_status:
      type: string
      description: The status of the release.
      enum:
        - active
        - pending
        - deprecated
        - failed
        - unstable
      example: active
    asset:
      type: object
      required:
        - id
        - buildId
        - type
        - url
        - metadata
      properties:
        id:
          type: integer
          description: The unique ID for the asset.
          example: 123
        buildId:
          type: integer
          description: The unique ID of the build this asset belongs to.
          example: 456
        type:
          type: string
          description: A string identifying the asset type.
          example: docker-image
        url:
          type: string
          description: A URL that locates or provides access to the asset.
          example: https://example.com/assets/456
        metadata:
          type: string
          description: Arbitrary data providing additional context for the asset.
    date:
      type: string
      format: date-time
      description: The timestamp when the entity was created.
      example: '2023-10-01T12:34:56Z'
    release:
      type: object
      required:
        - id
        - semver
        - buildId
        - status
        - application_id
        - asset
        - created_at
        - updated_at
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the release.
          example: 789
        semver:
          $ref: '#/components/schemas/semver'
        buildId:
          type: integer
          description: The ID of the build to be released.
          example: 456
        status:
          $ref: '#/components/schemas/release_status'
        asset:
          $ref: '#/components/schemas/asset'
        created_at:
          $ref: '#/components/schemas/date'
        updated_at:
          $ref: '#/components/schemas/date'
    releaseListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/release'
    ReleaseCreate:
      type: object
      required:
        - semver
        - build_id
        - status
        - application_id
      properties:
        status:
          $ref: '#/components/schemas/release_status'
        build_id:
          type: integer
          description: The ID of the build to which this release belongs.
          example: 12341234
        application_id:
          type: integer
          description: The ID of the application to which this release belongs.
          example: 43214321
        semver:
          $ref: '#/components/schemas/semver'
    release_write:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/release_status'
        asset:
          $ref: '#/components/schemas/asset'
    runtime_configuration:
      type: object
      required:
        - id
        - nrn
        - profile
        - status
        - dimensions
      properties:
        id:
          type: integer
          description: A system-wide unique ID for the runtime configuration.
          example: 1234
        nrn:
          type: string
          description: NRN (at or below) where the runtime configuration applies.
          example: organization=1:account=2:namespace=3:application=4
        profile:
          type: string
          description: An identifier for this runtime configuration based on the dimensions on which it was created.
          example: environment_dev_country_arg
        status:
          type: string
          description: The status of the runtime configuration.
          enum:
            - active
            - inactive
          example: active
        dimensions:
          type: object
          example:
            environment: production
          description: The set of dimension/values that this runtime configuration is providing values for.
        values:
          type: object
          example:
            global-key: global-value
            my-namespace:
              namespace-key: namespace-value
          description: The set of values that this runtime configuration holds.
      example:
        id: 1234
        nrn: organization=1:account=2:namespace=3
        profile: environment_dev_country_arg
        status: active
        dimensions:
          environment: dev
          country: arg
        values:
          workflow: null_dev
          aws:
            log_reader: ...
    runtime_configuration_list:
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/runtime_configuration'
    RuntimeConfigurationCreate:
      type: object
      description: The runtime configuration body for updates,
      required:
        - nrn
        - dimensions
        - values
      properties:
        nrn:
          type: string
          description: NRN (at or below) where the runtime configuration applies.
          example: organization=1:account=2:namespace=3:application=4
        dimensions:
          type: object
          example:
            environment: production
          description: |
            The set of dimension/value pairs that this runtime configuration applies to.
            > You can send an empty object `{}` to create a runtime configuration that applies to all dimensions.
        values:
          type: object
          example:
            global-key: global-value
            my-namespace:
              namespace-key: namespace-value
          description: The set of values that this runtime configuration holds.
      example:
        nrn: organization=1:account=2:namespace=3
        dimensions:
          environment: production
          country: us
        values:
          aws:
            log_reader: ...
            workflow_role: ...
    RuntimeConfigurationWrite:
      type: object
      description: The runtime configuration body for updates
      required:
        - nrn
        - dimensions
        - values
      properties:
        status:
          type: string
          description: The status of this runtime configuration.
          enum:
            - active
            - inactive
          example: active
        values:
          type: object
          example:
            global-key: global-value
            my-namespace:
              namespace-key: namespace-value
          description: The set of values that this runtime configuration holds.
      example:
        values:
          aws:
            log_reader: ...
            workflow_role: ...
    ScopeStatus:
      example: active
      type: string
      description: The status of the scope.
      enum:
        - pending_approval
        - pending_hook
        - pending_approval_denied
        - pending
        - creating
        - recreating
        - active
        - updating
        - updating_approval
        - deleting
        - deleted
        - failed
        - stopping
        - stopped
        - cancelled
    ScopeRequestedSpec:
      example:
        memory_in_gb: 2
        cpu_profile: standard
        local_storage_in_gb: 8
      type: object
      description: Defines the technical specifications for this scope (will be replaced by capabilities).
      properties:
        memory_in_gb:
          type: number
          default: 2
          example: 2
          description: The amount of memory allocated to this scope, measured in gigabytes (GB).
        cpu_profile:
          type: string
          enum:
            - standard
            - intensive
          example: standard
          description: Defines the CPU profile for this scope.
        local_storage_in_gb:
          type: number
          default: 2
          example: 2
          description: The amount of local storage available to this scope, measured in gigabytes (GB).
    ScopeTier:
      example: important
      type: string
      description: Defines the tier type of the scope.
      enum:
        - testing
        - non_critical
        - important
        - critical
    scopeDomainResponse:
      type: object
      required:
        - id
        - name
        - type
      properties:
        id:
          type: string
          description: The application-wide unique ID for the custom domain.
          example: e78a0d21-3c48-7421-81cd-203fe84b8e47
        name:
          type: string
          description: The name of the custom domain.
          example: api.crypto-inc.com
        type:
          type: string
          description: The type of the domain.
          example: scope
        selector:
          type: object
          description: The selector for the custom domain.
          properties:
            organization_id:
              type: string
              description: The organization ID.
              example: '1'
            nrn:
              type: string
              description: The NRN of entity.
              example: organization=1:account=2:namespace=3:application=4
            scope_id:
              type: string
              description: The scope ID that the custom domains is associated with..
              example: '1234'
        status:
          type: string
          description: The status of the domain.
          enum:
            - active
            - pending
          example: active
        created_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the custom domain was created.
          format: date-time
          example: '2025-01-02T00:00:00Z'
        updated_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the custom domain was last updated.
          format: date-time
          example: '2025-02-02T00:00:00Z'
    scope:
      type: object
      required:
        - id
        - name
        - type
        - slug
        - status
        - domain
        - application_id
        - requested_spec
        - capabilities
      properties:
        id:
          example: 1234
          type: integer
          description: A system-wide unique ID for the scope.
        name:
          example: Billing API
          type: string
          maxLength: 60
          description: The name of the scope.
        asset_name:
          type: string
          description: The name of the asset.
          example: main-asset
        type:
          example: web_pool
          type: string
          enum:
            - web_pool
            - web_pool_k8s
            - scheduled_tasks
            - serverless
            - custom
          description: Defines the scope type.
        status:
          $ref: '#/components/schemas/ScopeStatus'
        slug:
          example: billing-api
          maxLength: 60
          type: string
          description: An application-wide unique slug for the scope.
        domain:
          example: billing-api-prod.nullapps.io
          maxLength: 60
          type: string
          description: An application-wide unique domain for the scope.
        application_id:
          example: 2345
          type: integer
          description: The ID of the application that owns this scope.
        requested_spec:
          $ref: '#/components/schemas/ScopeRequestedSpec'
        capabilities:
          type: object
          description: Defines optional features such as logging, auto scaling, and spot instances. See the [capabilities](/docs/scopes/capabilities) documentation for details.
        messages:
          type: object
          description: Additional system messages related to the scope's status or configuration.
          example: null
        tier:
          $ref: '#/components/schemas/ScopeTier'
        external_created:
          type: boolean
          description: Indicates whether the scope was provisioned externally. `false` when provisioned by nullplatform, `true` if created externally (e.g., via Terraform).
        tags:
          example:
            - requires_deployment
            - high_priority
          type: array
          items:
            type: string
          description: Tags associated with the scope.
        profiles:
          type: array
          items:
            type: string
          example:
            - environment_production
          description: NRN profiles that must be applied to this scope, independent of runtime configurations.
        dimensions:
          type: object
          example:
            environment: production
          description: Defines runtime configuration dimensions, such as environment or region, that apply to this scope.
        runtime_configurations:
          type: array
          items:
            type: integer
          example:
            - 1234
            - 2345
          description: Runtime configurations that apply to this scope based on its dimensions.
        domains:
          type: array
          description: |
            Array of custom domains associated with this scope.
            > It returns an empty array if no custom domains are assigned to the scope.
          items:
            $ref: '#/components/schemas/scopeDomainResponse'
        metadata:
          $ref: '#/components/schemas/MetadataComponent'
    scopeListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/scope'
    ScopeCreate:
      type: object
      required:
        - name
        - type
        - application_id
        - requested_spec
      properties:
        name:
          example: Billing API
          type: string
          maxLength: 60
          description: The name of the scope.
        type:
          example: web_pool
          type: string
          enum:
            - web_pool
            - web_pool_k8s
            - scheduled_tasks
            - serverless
            - custom
          description: Defines the scope type.
        application_id:
          example: 2345
          type: integer
          description: The ID of the application that owns this scope.
        requested_spec:
          $ref: '#/components/schemas/ScopeRequestedSpec'
        capabilities:
          type: object
          example: null
          description: Defines optional features such as logging, auto scaling, and spot instances. See the [capabilities](/docs/scopes/capabilities) documentation for details.
        messages:
          type: object
          description: Additional system messages related to the scope's status or configuration.
          example: null
        external_created:
          type: boolean
          default: false
          description: |
            Indicates whether the scope was provisioned externally. 
             >  `false` when provisioned by nullplatform, `true` if created externally (e.g., via Terraform).
    scope_update:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ScopeStatus'
        requested_spec:
          $ref: '#/components/schemas/ScopeRequestedSpec'
        tier:
          $ref: '#/components/schemas/ScopeTier'
        capabilities:
          type: object
          example: null
          description: Defines optional features such as logging, auto scaling, and spot instances. See the [capabilities](/docs/scopes/capabilities) documentation for details.
        asset_name:
          type: string
          description: The name of the asset.
          example: main-asset
        messages:
          type: object
          description: Additional system messages related to the scope's status or configuration.
          example: null
        instance_id:
          type: string
          description: The ID of the instance to terminate. Applies only to the `instance_kill` action.
          example: i-0a1234567890b1234
        domain:
          type: string
          description: An application-wide unique domain for the scope.
          example: billing-api-prod.nullapps.io
        name:
          description: |
            The name of the scope.

            > ℹ️ **Note:** Changing the scope's name **does not change the slug**, 
             as doing so could break connections with existing applications and services.
          type: string
          example: Payments API.
        dimensions:
          type: object
          example:
            environment: production
          description: Defines runtime configuration dimensions, such as environment or region, that apply to this scope.
    ScopeActionParameters:
      type: object
      description: |-
        Defines the parameters required for troubleshooting actions.

          > **Note**: Actions with the name `autoscaling_stop` and `autoscaling_start` do not require parameters.
      example:
        instance_id: i-0a1234567890b1234
      properties:
        instance_id:
          type: string
          description: The ID of the instance to terminate. Applies only to the `instance_kill` action.
          example: i-0a1234567890b1234
        desired_instances:
          type: integer
          description: The target number of instances. Applies only to the `autoscaling_fix` action.
          example: 10
        autoscaling_enabled:
          type: boolean
          description: Indicates whether autoscaling should be enabled. Applies only to the `autoscaling_fix` action.
          example: true
    ScopeActionInstanceKillCreate:
      type: object
      required:
        - name
        - parameters
      properties:
        name:
          type: string
          description: The name of the troubleshooting action
          example: instance_kill
          enum:
            - instance_kill
            - autoscaling_fix
            - autoscaling_stop
            - autoscaling_start
        parameters:
          $ref: '#/components/schemas/ScopeActionParameters'
      example:
        name: instance_kill
        parameters:
          instance_id: i-0a1234567890b1234
    ScopeAction:
      type: object
      properties:
        id:
          type: string
          description: The ID of the troubleshooting action.
          example: '5678'
        name:
          type: string
          description: The name of the troubleshooting action.
          example: instance_kill
        status:
          type: string
          description: The status of the troubleshooting action.
          enum:
            - pending
            - creating
            - active
            - updating
            - deleting
            - deleted
            - failed
          example: pending
        entity:
          type: string
          description: The entity that the troubleshooting action is associated with.
          example: scope
        entity_id:
          type: string
          description: The ID of the entity that the troubleshooting action is associated with.
          example: '1234'
        parameters:
          type: object
          description: The parameters for the troubleshooting action.
          example:
            instance_id: i-0a1234567890b1234
        messages:
          type: array
          items:
            type: string
          description: The messages for the troubleshooting action.
          example:
            - Instance i-0a1234567890b1234 not found
        nrn:
          type: string
          description: The NRN of the entity that the troubleshooting action is associated with.
          example: organization=1:account=2:namespace=3:application=4:scope=1234
        created_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the troubleshooting action was created.
          format: date-time
          example: '2021-01-02T00:00:00Z'
        updated_at:
          type: string
          nullable: true
          description: The ISO-8601 UTC timestamp of when the troubleshooting action was last updated.
          format: date-time
          example: '2021-01-02T00:00:00Z'
      example:
        id: '5678'
        name: instance_kill
        parameters:
          instance_id: i-0a1234567890b1234
    scopeDomainListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          required:
            - offset
            - limit
          properties:
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/scopeDomainResponse'
    scopeDomainCreate:
      type: object
      required:
        - name
        - type
        - scope_id
      properties:
        scope_id:
          type: string
          description: The scope ID that the custom domains is associated with..
          example: '1234'
        name:
          type: string
          description: The name of the custom domain.
          example: api.crypto-inc.com
        type:
          type: string
          description: |
            The type of the domain.
          enum:
            - scope
          example: scope
    ScopeTypeResponse:
      example:
        id: 12345
        nrn: organization=1:account=2:namespace=3:application=4
        type: custom
        name: EKS CronJob
        status: active
        description: Deploy periodic jobs in kubernetes
        provider_type: service
        provider_id: <<your-service-specification-id>>
      properties:
        id:
          type: number
          description: The ID of the scope type.
          example: 12345
        nrn:
          type: string
          description: NRN (at or below) where the the scope type applies.
          example: organization=1:account=2:namespace=3:application=4
        type:
          type: string
          enum:
            - custom
          description: The type of scope type.
          example: custom
        name:
          type: string
          description: The name displayed to the developers to identify the type scope.
          example: EKS CronJob
        description:
          type: string
          description: Short description of how the scope type works or what it does.
          example: Deploy periodic jobs in kubernetes
        status:
          type: string
          enum:
            - active
            - inactive
          description: Whether this scope type is enabled to be used.
          example: active
        provider_type:
          type: string
          enum:
            - service
          description: Defines the source entity that implements the scope type.
          example: service
        provider_id:
          type: string
          description: The ID of the entity that implements the scope type.
          example: <<your-service-specification-id>>
    ScopeTypeRequest:
      example:
        nrn: organization=1:account=2:namespace=3:application=4
        type: custom
        name: EKS CronJob
        status: active
        description: Deploy periodic jobs in kubernetes
        provider_type: service
        provider_id: <<your-service-specification-id>>
      properties:
        nrn:
          type: string
          description: NRN (at or below) where the scope type applies.
          example: organization=1:account=2:namespace=3:application=4
        type:
          type: string
          enum:
            - custom
          description: The type of scope type.
          example: custom
        name:
          type: string
          description: The display name shown to developers to identify the scope type.
          example: EKS CronJob
        description:
          type: string
          description: Short description of how the scope type works or what it does.
          example: Deploy periodic jobs in kubernetes
        status:
          type: string
          enum:
            - active
            - inactive
          description: Whether this scope type is enabled to be used.
          example: active
        provider_type:
          type: string
          enum:
            - service
          description: Defines the source entity that implements the scope type.
          example: service
        provider_id:
          type: string
          description: The ID of the entity that implements the scope type.
          example: <<your-service-specification-id>>
    def-21:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/def-1'
        name:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Name of the entity. Must be a non-empty string and not equal to null
        slug:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Slug of the entity. Automatically generated from "name"
        specification_id:
          $ref: '#/components/schemas/def-1'
          description: Unique identifier for the associated service specification
          anyOf:
            - $ref: '#/components/schemas/def-1'
            - type: 'null'
            - type: string
              pattern: ^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12},\s*)*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
        desired_specification_id:
          anyOf:
            - $ref: '#/components/schemas/def-1'
            - type: 'null'
          description: Desired unique identifier for the associated specification
        messages:
          $ref: '#/components/schemas/def-5'
          description: Object representing instance messages with severity levels
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
        status:
          type: string
          enum:
            - pending_create
            - pending
            - creating
            - updating
            - active
            - failed
            - cancelled
          description: Status of the service. Should be one of the specified values in the enumeration
        linkable_to:
          $ref: '#/components/schemas/def-4'
          description: Array representing visibility settings for the service. Specifies what/who can link this entity
        dimensions:
          $ref: '#/components/schemas/def-8'
          description: Object representing dimensions restrictions with key-value pairs
        attributes:
          type: object
          description: Attributes associated with the service, should be valid against the service specification attribute schema
        entity_nrn:
          $ref: '#/components/schemas/def-2'
        selectors:
          $ref: '#/components/schemas/def-6'
          description: Key-value object representing service selectors
        type:
          type: string
          enum:
            - dependency
            - scope
          description: Type of the service. Should be one of the specified values in the enumeration
      description: Object representing service instances
      additionalProperties: false
      title: Service
      example:
        name: my-service
        entity_nrn: organization=1:account=1:namespace=1
        specification_id: 67fac146-54cc-466d-8c52-a8234445a95f
        linkable_to:
          - organization=1:account=1
          - organization=1:account=2
        attributes:
          my_string_property: my_string_value
          my_number_property: 0
    def-15:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/def-1'
        name:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Name of the entity. Must be a non-empty string and not equal to null
        slug:
          type: string
          minLength: 1
          not:
            enum:
              - null
          description: Slug of the specification. Automatically generated from "name"
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
        visible_to:
          $ref: '#/components/schemas/def-4'
          description: Array representing visibility settings for the service specification. Specifies what/who can create a service based on this specification
        attributes:
          $ref: '#/components/schemas/def-7'
        selectors:
          $ref: '#/components/schemas/def-6'
          description: Key-value object representing service specification selectors
        type:
          type: string
          enum:
            - dependency
            - scope
          description: Type of the service specification. Should be one of the specified values in the enumeration
        dimensions:
          $ref: '#/components/schemas/def-9'
        assignable_to:
          type: string
          enum:
            - any
            - dimension
            - scope
          description: Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
        use_default_actions:
          type: boolean
          description: Specifies if the service specification should use default actions. Default is false
      description: Object representing service specifications
      additionalProperties: false
      title: ServiceSpecification
      example:
        name: my-service-specification
        visible_to:
          - organization=1:account=1
          - organization=1:account=2
        dimensions:
          environment:
            required: true
            values:
              - production
              - staging
        assignable_to: any
        attributes:
          schema:
            type: object
            properties:
              my_string_property:
                type: string
              my_number_property:
                type: number
                default: 0
            required:
              - my_string_property
          values: {}
    TemplateComponent:
      type: object
      properties:
        type:
          type: string
          description: The type of component (e.g., language, framework).
          example: language
        id:
          type: string
          description: The ID of the component (e.g., javascript, golang, java).
          example: javascript-language
        version:
          type: string
          description: The version of the component (e.g., 20.2, 1.18, 17).
          example: '1.0'
    TechnologyTemplateResponse:
      type: object
      properties:
        id:
          type: integer
          description: The ID of the template.
          example: 123
        name:
          type: string
          description: The name of the technology template (e.g., node, java-spring, go, kotlin-ktor).
          example: Next.JS 13 template
        url:
          type: string
          description: The URL of the template in the repository.
          example: https://github.com/nullplatform/technology-templates-nextjs
        provider:
          type: object
          properties:
            repository:
              type: string
              description: |
                The name of the repository within the provider.

                > For example, if the URL is `https://github.com/nullplatform/technology-templates-nextjs`,  
                the repository name should be `technology-templates-nextjs`.
              example: technology-templates-nextjs
        components:
          type: array
          items:
            $ref: '#/components/schemas/TemplateComponent'
          description: The components of the template.
        tags:
          type: array
          example: frontend
          items:
            type: string
          description: Tags associated with the template (e.g., node, nextjs, frontend).
        updated_at:
          type: string
          nullable: true
          description: The ISO-8601 UTC timestamp of when the technology template was last updated.
          format: date-time
          example: '2021-01-02T00:00:00Z'
        created_at:
          type: string
          description: The ISO-8601 UTC timestamp of when the technology template was created.
          format: date-time
          example: '2021-01-02T00:00:00Z'
    TechnologyTemplateListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          type: object
          required:
            - offset
            - limit
            - total
          properties:
            total:
              type: integer
              description: The total number of results matching the query.
              example: 30
            offset:
              type: integer
              minimum: 0
              description: The starting point for pagination. Defaults to 0 if not provided.
              example: 0
            limit:
              type: integer
              maximum: 200
              description: The maximum number of results to return per page. The maximum allowed value is 200.
              example: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/TechnologyTemplateResponse'
    TemplateRules:
      type: object
      properties:
        application_name:
          type: string
          description: |
            A regular expression pattern used to validate the format of the application name.
            > **Note**: This field allows you to define naming conventions for applications, ensuring consistency across repository naming. For example, to require the application name to end with `-api`, use a pattern like `^(.*)-api$`.
          format: regex
          example: ^(.*)-api$
        repository_path:
          type: string
          description: |
            A substitution expression defining the custom structure of the repository path based on matched groups from the application name. 
            > **Note**: This field uses a syntax similar to `sed` substitution (`s/regex/replacement/flags`), enabling you to dynamically construct repository paths.  > For instance, to rearrange parts of the application name with a new directory structure, use a pattern like `s/^(.*)-(.*)$/${namespace.slug}-golang-${1}-${2}/g`.
          format: regex
          example: s/^(.*)-(.*)$/${namespace.slug}-golang-${1}-${2}/g
    TechnologyTemplateCreate:
      type: object
      required:
        - name
        - url
        - provider
        - organization
      properties:
        name:
          type: string
          description: The name of the technology template (e.g., node, java-spring, go, kotlin-ktor).
          example: Next.JS 13 template
        url:
          type: string
          description: The URL of the template in the repository.
          example: https://github.com/nullplatform/technology-templates-nextjs
        provider:
          type: object
          properties:
            repository:
              type: string
              description: |
                The name of the repository within the provider.

                > For example, if the URL is `https://github.com/nullplatform/technology-templates-nextjs`,  
                the repository name should be `technology-templates-nextjs`.
              example: technology-templates-nextjs
        organization:
          type: integer
          description: The ID of the organization.
          example: 234
        account:
          type: integer
          description: The ID of account.
          example: 345
        status:
          type: string
          description: The status of the template.
          enum:
            - active
            - inactive
          example: active
        components:
          type: array
          description: The components of the template.
          items:
            $ref: '#/components/schemas/TemplateComponent'
        tags:
          type: array
          items:
            type: string
          description: Tags associated with the template (e.g., node, nextjs, frontend)
          example: frontend
        rules:
          type: object
          description: |
            Defines rules for enforcing naming conventions and structuring repository paths.
          items:
            $ref: '#/components/schemas/TemplateRules'
      example:
        name: Next.JS 13
        organization: 234
        account: 345
        status: active
        url: https://github.com/nullplatform/technology-templates-nextjs
        provider:
          repository: technology-templates-nextjs
        components:
          - type: language
            id: javascript
            version: es6
          - type: framework
            id: next.js
            version: '13'
        rules:
          application_name: ^(.*)-api$
          repository_path: s/^(.*)-(.*)$/${namespace.slug}-golang-${1}-${2}/g
        tags:
          - javascript
          - frontend
          - nextjs
    TechnologyTemplate_write:
      type: object
      properties:
        name:
          type: string
          description: The name of the technology template (e.g., node, java-spring, go, kotlin-ktor).
          example: Next.JS 13 template
        url:
          type: string
          description: The URL of the template in the repository.
          example: https://github.com/nullplatform/technology-templates-nextjs
        provider:
          type: object
          properties:
            repository:
              type: string
              description: |
                The name of the repository within the provider.

                > For example, if the URL is `https://github.com/nullplatform/technology-templates-nextjs`,  
                the repository name should be `technology-templates-nextjs`.
              example: technology-templates-nextjs
        organization:
          type: integer
          description: The ID of the organization.
          example: 234
        account:
          type: integer
          description: The ID of account.
          example: 345
        status:
          type: string
          description: The status of the template.
          enum:
            - active
            - inactive
          example: active
        components:
          type: array
          description: The components of the template.
          items:
            $ref: '#/components/schemas/TemplateComponent'
        tags:
          type: array
          example: frontend
          items:
            type: string
          description: Tags associated with the template (e.g., node, nextjs, frontend)
        rules:
          type: object
          description: |
            Defines rules for enforcing naming conventions and structuring repository paths.
          items:
            $ref: '#/components/schemas/TemplateRules'
        metadata:
          $ref: '#/components/schemas/MetadataComponent'
      example:
        name: Next.JS 13
        organization: 234
        account: 345
        status: active
        url: https://github.com/nullplatform/technology-templates-nextjs
        provider:
          repository: technology-templates-nextjs
        components:
          - type: language
            id: javascript
            version: es6
          - type: framework
            id: next.js
            version: '13'
        rules:
          application_name: ^(.*)-api$
          repository_path: s/^(.*)-(.*)$/${namespace.slug}-golang-${1}-${2}/g
        tags:
          - javascript
          - frontend
          - nextjs
        metadata:
          key: value
          schemas:
            - schema: schema1
            - schema: schema2
          tags:
            - key: tag1
              value: value1
            - key: tag2
              value: value2
    createToken:
      title: Create a new token
      type: object
      required:
        - api_key
      properties:
        api_key:
          type: string
          description: |
            The API key used to obtain your **new** `access_token` for the first time.
          example: MTI4ODQwNDE1Mg==.WXRnSChAMkR7dHM4XXFAM3Y1Y1U5SnFhT3NmcAsxPTs=
    renewToken:
      title: Renew your token
      type: object
      required:
        - refresh_token
        - organization_id
      properties:
        refresh_token:
          type: string
          description: |
            The token obtained during the initial authentication using your API key.

            > Include it in your request to **renew** your `access_token`.
          example: eyJjdHki...
        organization_id:
          type: string
          description: |
            The unique identifier for your organization.

            > Include it in your request to **renew** your `access_token`.
          example: '1234'
    AuthTokenRequest:
      oneOf:
        - $ref: '#/components/schemas/createToken'
        - $ref: '#/components/schemas/renewToken'
    AuthTokenResponse:
      required:
        - access_token
        - organization_id
      properties:
        access_token:
          type: string
          description: The short-lived Bearer token that you need to pass on API calls.
          example: eyJraWQi...
        refresh_token:
          type: string
          description: A long-lived token that you can use to renew access tokens.
          example: eyJraWQi...
        organization_id:
          type: integer
          description: The unique identifier for your organization.
          example: 1234
        token_expires_at:
          type: integer
          description: The timestamp when the access token expires, in milliseconds.
          example: 1700000000000
    userResponse:
      type: object
      required:
        - id
        - nrn
        - email
        - first_name
        - last_name
        - organization_id
      properties:
        id:
          type: integer
          description: The ID of the user.
          example: 123456
        email:
          description: The email of the user.
          type: string
          example: alex.mgr@crypto-inc.com
        first_name:
          description: The first name of the user.
          type: string
          nullable: true
          example: Alex
        last_name:
          description: The last name of the user.
          type: string
          example: Doe
          nullable: true
        organization_id:
          description: The organization ID of the user.
          type: integer
          example: 1234
        status:
          description: The status of the user.
          enum:
            - active
            - inactive
          type: string
          example: active
        avatar:
          description: The avatar of the user.
          type: string
          nullable: true
          example: https://my-avatar-url.com
        type:
          description: The type of the user.
          enum:
            - PERSON
            - MACHINE
          type: string
          example: PERSON
        provider:
          description: The provider of the user.
          type: string
          enum:
            - COGNITO
            - SAML
          nullable: true
          example: COGNITO
        nrn:
          description: The NRN of the user.
          type: string
          example: organization=123
        send_invite:
          description: Whether to send an invite email to the user.
          type: boolean
          default: true
          example: true
        metadata:
          description: The metadata of the user.
          type: object
          example:
            key: value
    userListResponse:
      type: object
      required:
        - paging
        - results
      properties:
        paging:
          required:
            - offset
            - limit
          properties:
            offset:
              description: The start of the paging window. Minimum is 0.
              type: integer
              minimum: 0
            limit:
              description: Maximum number of elements to retrieve per call. Maximum is 200.
              type: integer
              maximum: 200
        results:
          type: array
          items:
            $ref: '#/components/schemas/userResponse'
    UserCreate:
      type: object
      required:
        - email
        - first_name
        - last_name
        - organization_id
      properties:
        email:
          description: The email of the user you want to create.
          type: string
          example: alex.doe@email.com
        first_name:
          description: The first name of the user you want to create.
          type: string
          example: Alex
        last_name:
          description: The last name of the user you want to create.
          type: string
          example: Doe
        organization_id:
          description: The organization ID of the user you want to create.
          type: integer
          example: 1234
        avatar:
          description: The avatar of the user you want to create.
          type: string
          example: https://my-avatar-url.com
        send_invite:
          description: Whether to send an invite email to the user.
          type: boolean
          default: true
          example: true
    userWrite:
      type: object
      properties:
        status:
          description: |
            The status of the user you want to update.

             > ℹ️ **Info:** Set the status to `active` to allow the user to log in to the platform, or to `inactive` to prevent login access.
          enum:
            - active
            - inactive
          type: string
          example: active
        email:
          description: The email of the user you want to update.
          type: string
          example: alex.doe@email.com
        first_name:
          description: The first name of the user you want to update.
          type: string
          example: Alex
        last_name:
          description: The last name of the user you want to update.
          type: string
          example: Doe
        organization_id:
          description: The organization ID of the user you want to update.
          type: integer
          example: 1234
        avatar:
          description: The avatar of the user you want to update.
          type: string
          example: https://my-avatar-url.com
  responses:
    4XX:
      description: Client error responses due to invalid input or missing parameters.
      content:
        application/json:
          schema:
            type: object
            required:
              - statusCode
              - error
              - message
            properties:
              statusCode:
                type: integer
                description: HTTP status code representing the specific client error (e.g., 400, 401, 403, 404).
                example: 400
              code:
                type: string
                description: A machine-readable error code that categorizes the server failure.
                example: bad_request
              error:
                type: string
                description: A brief, human-readable description of the error type (e.g., "Bad Request", "Unauthorized").
                example: Bad Request
              message:
                type: string
                description: Additional details about the error.
                example: The request was malformed or contained invalid parameters.
    5XX:
      description: Internal server error due to an unexpected issue.
      content:
        application/json:
          schema:
            type: object
            required:
              - statusCode
              - error
              - message
            properties:
              statusCode:
                type: integer
                description: HTTP status code representing the specific server error (e.g., 500, 502, 503).
                example: 500
              code:
                type: string
                description: A machine-readable error code that categorizes the server failure.
                example: internal_server_error
              error:
                type: string
                description: A brief, human-readable description of the error type (e.g., "Internal Server Error", "Service Unavailable").
                example: Internal Server Error
              message:
                type: string
                description: Additional details about the error.
                example: An unexpected error occurred. Please try again later.
    responses-5XX:
      description: Server error responses indicating an issue on the API side.
      content:
        application/json:
          schema:
            type: object
            required:
              - statusCode
              - error
              - message
            properties:
              statusCode:
                type: integer
                description: HTTP status code representing the specific server error (e.g., 500, 502, 503).
                example: 500
              code:
                type: string
                description: A machine-readable error code that categorizes the server failure.
                example: internal_server_error
              error:
                type: string
                description: A brief, human-readable description of the error type (e.g., "Internal Server Error", "Service Unavailable").
                example: Internal Server Error
              message:
                type: string
                description: Additional details about the error.
                example: An unexpected error occurred. Please try again later.
  parameters:
    metadataIncludes:
      name: metadata_include
      in: query
      description: Comma-separated list of metadata properties to include in the response. Available values [schemas, tags].
      example: schemas,tags
      schema:
        type: string
    parameters-metadataIncludes:
      name: metadata_include
      in: query
      schema:
        type: string
      description: 'Comma-separated properties that should be included in the metadata response. Available values: [schemas, tags].'
      example: schemas,tags
    includeMessages:
      name: include_messages
      in: query
      description: Specifies whether it includes messages in the response.
      example: true
      schema:
        type: boolean
