openapi: 3.0.0
info:
  x-ibm-name: appconnect
  version: 1.1.0
  title: IBM App Connect API
  description: >
    For an overview of this API, see the [IBM App Connect Enterprise as a
    Service API overview](https://ibm.biz/aas_api).
  contact:
    name: IBM App Connect discussion forum
    url: http://ibm.biz/accommunity
    email: ask.application.integration@uk.ibm.com
  license:
    name: Service description for IBM App Connect Enterprise as a Service
    url: >-
      https://www.ibm.com/support/customer/csol/terms/?id=i126-9531&lc=en#detail-document
security:
  - bearerAuth: []
    clientId: []
tags:
  - name: BAR file
    description: Managing BAR file objects.
  - name: Batch
    description: Managing batch operations.
  - name: Configuration
    description: Managing configuration objects.
  - name: Configuration type
    description: Managing configuration type objects.
  - name: Integration runtime
    description: Managing integration runtime objects.
  - name: Token
    description: Managing token (JWT) objects.
  - name: Trace
    description: Managing trace objects.
servers:
  - url: https://api.{region}.appconnect.automation.ibm.com
    variables:
      region:
        description: Choose your region
        default: p-vir-c1
        enum:
          - p-vir-c1
          - p-fra-c1
          - p-lon-c1
          - p-syd-c1
  - url: https://api.{region}.appconnect.ipaas.automation.ibm.com
    variables:
      region:
        description: Choose your region
        default: a-vir-c1
        enum:
          - a-vir-c1
          - a-fra-c1
          - a-syd-c1
          - a-tyo-c1
paths:
  /api/v1/traces:
    description: The collection of trace operations.
    get:
      summary: List the trace objects
      description: Retrieve a list of trace objects.
      operationId: list_trace
      parameters:
        - $ref: '#/components/parameters/spec-integration-runtime-name'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceList'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Trace
  /api/v1/traces/{trace}:
    description: Trace object operations
    parameters:
      - $ref: '#/components/parameters/trace'
    get:
      summary: Get the trace object by name
      description: Retrieve information about the trace object with the specified name.
      operationId: get_trace
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trace'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Trace
    put:
      summary: Replace or create the trace object by name
      description: >-
        Replace the trace object with the specified name if it exists, or create
        a trace object with the specified name if it doesn't exist. You enable
        trace for an integration runtime by creating a trace object. You can
        download and reset trace by using the collect-trace and reset-trace
        operations.
      operationId: replace_trace
      x-codegen-request-body-name: Trace
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trace'
      responses:
        '200':
          description: The trace object with the specified name was replaced successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trace'
        '201':
          description: A trace object was created successfully with the specified name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trace'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Trace
    delete:
      summary: Delete the trace object by name
      description: >-
        Delete the trace object with the specified name. You disabled trace for
        an integration runtime by deleting the trace object.
      operationId: delete_trace
      responses:
        '204':
          description: The trace object with the specified name was deleted successfully.
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Trace
  /api/v1/configurations:
    description: The collection of configuration operations.
    get:
      summary: List the configuration objects
      description: Retrieve a list of configurations.
      operationId: list_configuration
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigurationList'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Configuration
    post:
      summary: Create the configuration object
      description: >-
        Create a configuration object to configure an integration runtimes; for
        example, configuration types can be server.conf.yaml, policy projects,
        or accounts.yaml definitions.
      operationId: create_configuration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Configuration'
      responses:
        '201':
          description: A configuration object was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Configuration'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '409':
          $ref: '#/components/responses/Error409'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Configuration
  /api/v1/configurations/{configuration}:
    description: Configuration object operations
    parameters:
      - $ref: '#/components/parameters/configuration'
    get:
      summary: Get the configuration object by name
      description: >-
        Retrieve information about the configuration object with the specified
        name.
      operationId: get_configuration
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Configuration'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Configuration
    put:
      summary: Replace or create the configuration object by name
      description: >-
        Replace the configuration object with the specified name if it exists,
        or create a configuration object with the specified name if it doesn't
        exist. Create a configuration object to configure an integration
        runtimes; for example, configuration types can be server.conf.yaml,
        policy projects, or accounts.yaml definitions.
      operationId: replace_configuration
      x-codegen-request-body-name: Configuration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Configuration'
      responses:
        '200':
          description: >-
            The configuration object with the specified name was replaced
            successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Configuration'
        '201':
          description: >-
            A configuration object was created successfully with the specified
            name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Configuration'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Configuration
    delete:
      summary: Delete the configuration object by name
      description: Delete the configuration object with the specified name.
      operationId: delete_configuration
      responses:
        '204':
          description: >-
            The configuration object with the specified name was deleted
            successfully.
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Configuration
  /api/v1/configuration-types/{configuration-type}:
    description: Configuration type object operations
    parameters:
      - $ref: '#/components/parameters/configuration-type'
    get:
      summary: Get the configuration type object by name
      description: >-
        Retrieve information about the configuration type object with the
        specified name.
      operationId: get_configuration_type
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigurationType'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Configuration type
  /api/v1/bar-files:
    description: The collection of BAR file operations
    get:
      summary: List the BAR file objects
      description: >-
        Retrieve a list of URLs that can be used in integration runtimes to
        access BAR files. The BAR file URL is used in the integration runtime
        specification when you create an integration runtime. You can't use
        these URLs to access BAR files externally.
      operationId: list_bar_file
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarFileList'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - BAR file
  /api/v1/bar-files/{bar-file}:
    description: BAR file object operations
    parameters:
      - $ref: '#/components/parameters/bar-file'
    get:
      summary: Get the BAR file object by name
      description: >-
        Retrieve information about the BAR file with the specified name. Specify
        the name of the BAR file without the .bar file extension.
      operationId: get_bar_file
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarFile'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - BAR file
    put:
      summary: Replace or create the BAR file object by name
      description: >-
        Replace the BAR file with the specified name if it exists, or create a
        BAR file with the specified name if it doesn't exist.
      operationId: replace_bar_file
      x-codegen-request-body-name: BarFileContent
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              $ref: '#/components/schemas/BarFileContent'
      responses:
        '200':
          description: The BAR file with the specified name was replaced successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarFile'
        '201':
          description: A BAR file was created successfully with the specified name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarFile'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - BAR file
    delete:
      summary: Delete the BAR file object by name
      description: >-
        Delete the BAR filewith the specified name. You can delete a BAR file
        only if it's not deployed to an integration runtime.
      operationId: delete_bar_file
      responses:
        '204':
          description: The specified BAR file was deleted successfully.
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - BAR file
  /api/v1/integration-runtimes:
    description: The collection of integration runtime operations
    get:
      summary: List the integration runtime objects
      description: Retrieve a list of deployed and running integration runtimes.
      operationId: list_integration_runtime
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationRuntimeList'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
    post:
      summary: Create the integration runtime object
      description: Create an integration runtime to run your integration.
      operationId: create_integration_runtime
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationRuntime'
      responses:
        '201':
          description: The integration runtime was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationRuntime'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '409':
          $ref: '#/components/responses/Error409'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
  /api/v1/integration-runtimes/{integration-runtime}:
    description: Integration runtime object operations
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
    get:
      summary: Get the integration runtime object by name
      description: >-
        Retrieve information about the integration runtime with the specified
        name.
      operationId: get_integration_runtime
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationRuntime'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
    put:
      summary: Replace or create the integration runtime object by name
      description: >-
        Replace the integration runtime with the specified name if it exists or
        create an integration runtime with the specified name if it doesn't
        exist.
      operationId: replace_integration_runtime
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationRuntime'
      responses:
        '200':
          description: The specified integration runtime was replaced successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationRuntime'
        '201':
          description: >-
            An integration runtime was created successfully with the specified
            name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationRuntime'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
    delete:
      summary: Delete the integration runtime object by name
      description: Delete the integration runtime with the specified name.
      operationId: delete_integration_runtime
      responses:
        '204':
          description: The specified integration runtime was deleted successfully.
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
  /api/v1/integration-runtimes/{integration-runtime}/retrieve-basic-auth-credentials:
    x-ibm-path-type: custom-operation
    description: Retrieve basic authentication credentials.
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
    post:
      summary: Retrieve basic auth credentials for the integration runtime
      description: Retrieve basic authentication credentials for the integration runtime.
      operationId: retrieve_basic_auth_credentials_integration_runtime
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/IntegrationRuntimeRetrieveBasicAuthCredentials
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
  /api/v1/integration-runtimes/{integration-runtime}/reset-basic-auth-credentials:
    x-ibm-path-type: custom-operation
    description: Reset basic authentication credentials.
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
    post:
      summary: Reset basic auth credentials for the integration runtime
      description: Reset basic authentication credentials for the integration runtime.
      operationId: reset_basic_auth_credentials_integration_runtime
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/IntegrationRuntimeResetBasicAuthCredentials
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
  /api/v1/integration-runtimes/{integration-runtime}/collect-trace:
    x-ibm-path-type: custom-operation
    description: Integration runtime custom collect trace operation
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
    post:
      summary: Collect trace from the integration runtime object by name
      description: >-
        Download trace log files from the integration runtime with the specified
        name.
      operationId: collect_trace_integration_runtime
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationRuntimeCollectTrace'
      responses:
        '200':
          description: Success
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/TraceZipIr'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
  /api/v1/integration-runtimes/{integration-runtime}/reset-trace:
    x-ibm-path-type: custom-operation
    description: Integration runtime custom reset trace operation
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
    post:
      summary: Reset trace on the integration runtime object by name
      description: Reset trace on the integration runtime with the specified name.
      operationId: reset_trace_integration_runtime
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationRuntimeResetTrace'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationRuntimeResetTrace'
          description: Success
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Integration runtime
  /api/v1/integration-runtimes/{integration-runtime}/batches:
    description: The collection of batch operations.
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
    get:
      summary: >-
        List all batches that have run or are running on this integration
        runtime
      description: Retrieve the list of batches.
      operationId: list_batch
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchList'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Batch
  /api/v1/integration-runtimes/{integration-runtime}/batches/{batch}:
    description: Batch object operations.
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
      - $ref: '#/components/parameters/batch'
      - $ref: '#/components/parameters/flow_id'
    get:
      summary: Get the batch object by id
      description: Retrieve information about the batch with the specified id.
      operationId: get_batch
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Batch
  /api/v1/integration-runtimes/{integration-runtime}/batches/{batch}/pause:
    description: Batch pause operation.
    x-ibm-path-type: custom-operation
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
      - $ref: '#/components/parameters/batch'
    post:
      summary: Pauses batch by id
      description: Pauses a batch with the specified id.
      operationId: pause_batch
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Batch
  /api/v1/integration-runtimes/{integration-runtime}/batches/{batch}/resume:
    description: Batch resume operation.
    x-ibm-path-type: custom-operation
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
      - $ref: '#/components/parameters/batch'
    post:
      summary: Resumes batch by id
      description: Resumes a batch with the specified id.
      operationId: resume_batch
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Batch
  /api/v1/integration-runtimes/{integration-runtime}/batches/{batch}/stop:
    description: Batch stop operation.
    x-ibm-path-type: custom-operation
    parameters:
      - $ref: '#/components/parameters/integration-runtime'
      - $ref: '#/components/parameters/batch'
    post:
      summary: Stops batch by id
      description: Stops a batch with the specified id.
      operationId: stop_batch
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Batch
  /api/v1/tokens:
    post:
      operationId: create_token
      summary: Create a token to use with IBM App Connect
      description: Create a token to use with the App Connect API.
      parameters:
        - in: header
          name: x-ibm-instance-id
          description: The ID of the App Connect instance to create the token for.
          schema:
            type: string
          required: true
      requestBody:
        description: Properties to create an App Connect token
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '500':
          $ref: '#/components/responses/Error500'
      tags:
        - Token
      security:
        - clientId: []
          clientSecret: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      x-ibm-bearer-validation-method: none
    clientId:
      type: apiKey
      x-key-type: client_id
      name: X-IBM-Client-Id
      in: header
    clientSecret:
      type: apiKey
      x-key-type: client_secret
      name: X-IBM-Client-Secret
      in: header
  parameters:
    bar-file:
      name: bar-file
      in: path
      description: The name of a BAR file
      required: true
      schema:
        type: string
    configuration:
      name: configuration
      in: path
      description: The name of a configuration
      required: true
      schema:
        type: string
    configuration-type:
      name: configuration-type
      description: The name of a configuration type
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/ConfigurationTypeName'
    integration-runtime:
      name: integration-runtime
      in: path
      description: The name of an integration runtime
      required: true
      schema:
        type: string
    trace:
      name: trace
      in: path
      description: The name of a trace object
      required: true
      schema:
        type: string
    spec-integration-runtime-name:
      name: spec.integrationRuntimeName
      in: query
      description: The name of an integration runtime
      required: false
      schema:
        type: string
    flow_id:
      name: flow_id
      in: query
      description: The id of a flow
      required: true
      schema:
        type: string
    batch:
      description: The id of a batch
      in: path
      name: batch
      required: true
      schema:
        type: string
  schemas:
    TokenRequest:
      type: object
      description: The token request object
      additionalProperties: false
      properties:
        apiKey:
          type: string
          description: An API key to create the App Connect token for
      required:
        - apiKey
    TokenResponse:
      type: object
      description: The token response object
      properties:
        accessToken:
          type: string
          description: A JWT that can be used to communicate with App Connect
        tokenType:
          type: string
          enum:
            - bearer
          description: The type of token that was created
        expiresIn:
          type: integer
          description: The time in seconds that this token is valid for
    BarFileContent:
      type: string
      description: The contents of a BAR file
      format: binary
    BarFile:
      type: object
      additionalProperties: false
      description: |
        BAR file type has two properties:
          * `name` - The name that was specified on the API when the BAR file was created
          * `url` - The URL that can be used to retrieve the contents of the BAR file
          * `type` - The type indicates whether the BAR file contains resources authored in the App Connect Enterprise Toolkit or App Connect Designer
      properties:
        name:
          description: >
            The name that was specified on the API when the BAR file was
            created.

            This property is provided in the body of responses only. For the
            create or replace method, the property is provided as a path
            parameter.
          x-ibm-managed-service: readOnly
          type: string
        url:
          description: |
            The URL that can be used to retrieve the contents of the BAR file.
              * This value is 'read only' and is returned for a retrieve method only.
              * This value is not the URL to this resource on the API, but it is the 'opaque' URL that you used when you create an integration runtime.
          x-ibm-managed-service: readOnly
          type: string
        type:
          description: >
            Indicates whether the BAR file contains resources that were authored
            in the App Connect Enterprise Toolkit or App Connect Designer
            authoring tool.
              * This value is 'read only' and is returned for a retrieve method only.
          x-ibm-managed-service: readOnly
          type: string
          enum:
            - toolkit
            - designer
            - unknown
        metadata:
          $ref: '#/components/schemas/BarFileMetadata'
    BarFileList:
      type: object
      required:
        - barFiles
      additionalProperties: true
      description: A list of BAR files
      properties:
        backupEnabled:
          type: boolean
          description: >-
            This property specifies whether the BAR file backup functionality is
            enabled.
        barFiles:
          type: array
          description: This property contains an array of BAR file objects.
          items:
            $ref: '#/components/schemas/BarFile'
        restoreEnabled:
          type: boolean
          description: >-
            This property specifies whether the BAR file restore functionality
            is enabled.
    BarFileMetadata:
      type: object
      description: |
        BAR file metadata
        * This value is 'read only' and is returned for a retrieve method only.
      x-ibm-managed-service: readOnly
      additionalProperties: false
      properties:
        lastModified:
          description: When this BAR file was last modified.
          type: string
        hash:
          description: A uniquely identifiable hash (based on contents) for this BAR file.
          type: string
        containsToolkitMessageFlow:
          description: |
            Indicates if the BAR file contains toolkit message flow.
          type: boolean
        containsDesignerEventFlow:
          description: |
            Indicates if the BAR file contains designer event-driven flow.
          type: boolean
        containsDesignerAPIFlow:
          description: |
            Indicates if the BAR file contains designer API flow.
          type: boolean
        containsDesignerBatch:
          description: |
            Indicates if the BAR file contains designer Batch node.
          type: boolean
        contents:
          description: |
            Lists the names of the contents inside the BAR file.
          type: array
          items:
            type: string
    Trace:
      description: Trace to use with an integration runtime
      properties:
        metadata:
          $ref: '#/components/schemas/Metadata'
        spec:
          $ref: '#/components/schemas/TraceSpec'
        status:
          $ref: '#/components/schemas/TraceStatus'
      required:
        - spec
      additionalProperties: false
    TraceList:
      type: object
      description: A list of trace items
      required:
        - traces
      additionalProperties: true
      properties:
        traces:
          type: array
          description: An array of trace items
          items:
            $ref: '#/components/schemas/Trace'
    TraceSpec:
      description: This property defines the desired state of the trace resource.
      properties:
        integrationRuntimeName:
          description: The name of the target integration runtime
          type: string
        type:
          $ref: '#/components/schemas/TraceType'
      required:
        - type
      type: object
      additionalProperties: false
    TraceStatus:
      description: This property defines the observed state of trace.
      properties:
        conditions:
          description: A list of conditions of the trace
          items:
            properties:
              lastTransitionTime:
                description: >-
                  This property specifies the last time that the status was
                  changed.
                format: date-time
                type: string
              message:
                description: This property specifies the status message.
                type: string
              reason:
                description: >-
                  This property specifies the reason for the last transition of
                  this status.
                type: string
              status:
                description: >-
                  This property identifies whether this condition applies to the
                  resource.
                enum:
                  - 'True'
                  - 'False'
                  - Unknown
                type: string
              type:
                description: The status type
                type: string
            required:
              - lastTransitionTime
              - message
              - status
              - type
            type: object
            additionalProperties: false
          type: array
        phase:
          description: The status of the trace
          type: string
      x-ibm-managed-service: readOnly
      type: object
      additionalProperties: false
    Configuration:
      description: A configuration to use with an integration runtime
      properties:
        metadata:
          $ref: '#/components/schemas/Metadata'
        spec:
          $ref: '#/components/schemas/ConfigurationSpec'
      required:
        - spec
      additionalProperties: false
    ConfigurationTypeName:
      description: The name of the configuration type
      type: string
      enum:
        - accounts
        - adminssl
        - agenta
        - agentx
        - barauth
        - db2cli
        - generic
        - keystore
        - loopbackdatasource
        - mqccdt
        - mqccred
        - odbc
        - persistencerediscredentials
        - policyproject
        - privatenetworkagent
        - resiliencekafkacredentials
        - s3credentials
        - serverconf
        - setdbparms
        - truststore
        - truststorecertificate
        - vault
        - vaultarchive
        - vaultarchivekey
        - vaultkey
        - workdiroverride
    ConfigurationType:
      description: Information about a configuration type
      properties:
        metadata:
          $ref: '#/components/schemas/Metadata'
        spec:
          $ref: '#/components/schemas/ConfigurationTypeSpec'
      required:
        - spec
      additionalProperties: false
    ConfigurationTypeSpec:
      description: >-
        This property specifies the schema for exactly one ConfigurationType
        item.
      properties:
        schema:
          description: The schema object of a ConfigurationType.
          type: object
          additionalProperties: true
        containsSecret:
          description: >-
            This property specifies whether a ConfigurationType contains secret
            contents.
          type: boolean
        accepts:
          description: A list of file extensions that are accepted for a ConfigurationType.
          type: array
          items:
            type: string
            pattern: ^\.[a-zA-Z0-9]+$
        link:
          description: The documentation link for a ConfigurationType.
          type: string
          format: url
          pattern: ^https.*$
        excludes:
          description: >-
            A list of other ConfigurationTypes that cannot be used at the same
            time as this ConfigurationType.
          type: array
          items:
            $ref: '#/components/schemas/ConfigurationTypeName'
      type: object
      additionalProperties: false
    ConfigurationSpec:
      description: |-
        This property specifies the schema for exactly one configuration item.
          ***The custom resource definition cannot restrict this property because Kubernetes doesn't allow the use of `minProperties` and `maxProperties`.
          This property can represent one of the following types of configuration resource.
        - accounts
        - adminssl
        - agenta
        - agentx
        - barauth
        - db2cli
        - generic
        - keystore
        - loopbackdatasource
        - mqccred
        - odbc
        - persistencerediscredentials
        - policyproject
        - privatenetworkagent
        - resiliencekafkacredentials
        - s3credentials
        - serverconf
        - setdbparms
        - truststore
        - truststorecertificate
        - vault
        - vaultarchive
        - vaultarchivekey
        - vaultkey
        - workdiroverride
          A single integration that is defined in a BAR file can use one or more of types.
          Each resource type is modelled in a `Configuration` definition as a different field. Therefore, a single `configuration` item must have exactly one of those fields set.
          The following subset of resources contains confidential information such as passwords.
        - accounts
        - adminssl
        - agenta
        - agentx
        - barauth
        - generic
        - keystore
        - loopbackdatasource
        - mqccdt
        - privatenetworkagent
        - s3credentials
        - resiliencekafkacredentials
        - persistencerediscredentials
        - setdbparms
        - truststore
        - truststorecertificate
        - workdiroverride
          In these cases, the main resource content is held in a Kubernetes secret and is represented in this object as a reference to the secret. The secret is currently restricted to be in the same namespace.
      properties:
        contents:
          description: >-
            The Base64-encoded (non-secret) contents of the configuration file.
            Do not set secrets in this field.
          type: string
          x-ibm-managed-service: readOnly
        data:
          description: >-
            The Base64-encoded contents of the configuration file, which will be
            moved to either a secret or the contents field.
          type: string
          writeOnly: true
        description:
          description: A description of the configuration object.
          type: string
        type:
          $ref: '#/components/schemas/ConfigurationTypeName'
        version:
          description: >-
            This field is populated by the App Connect operator and doesn't need
            to be populated manually.
          type: string
      required:
        - type
        - data
      type: object
      additionalProperties: false
    ConfigurationList:
      type: object
      description: A list of configuration items.
      required:
        - configurations
      additionalProperties: true
      properties:
        configurations:
          type: array
          description: An array of configuration items.
          items:
            $ref: '#/components/schemas/Configuration'
    IntegrationRuntime:
      description: An App Connect integration runtime.
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        metadata:
          $ref: '#/components/schemas/Metadata'
        spec:
          $ref: '#/components/schemas/IntegrationRuntimeSpec'
        status:
          $ref: '#/components/schemas/IntegrationRuntimeStatus'
      required:
        - spec
      additionalProperties: false
    IntegrationRuntimeSpec:
      description: This property defines the desired state of the IntegrationRuntime.
      properties:
        barURL:
          description: >-
            This property specifies a URL to a BAR file that is stored at an
            external endpoint.
          items:
            type: string
          type: array
        configurations:
          description: >-
            The name of a configuration custom resource that is used to
            configure the flows that are run by this integration runtime.
          items:
            type: string
          type: array
        connectorService:
          properties:
            enabled:
              description: >-
                This property enables the connector service API and the default
                is false.
              type: boolean
          type: object
        defaultAppName:
          description: >-
            This poperty specifies the name of the application that top-level
            flows will be deployed to.
          type: string
        desiredRunState:
          enum:
            - stopped
            - running
          type: string
        flowType:
          properties:
            designerAPIFlow:
              description: >-
                This property enables the runtime for Designer API flows and the
                default is false.
              type: boolean
            designerEventFlow:
              description: >-
                This property enables the runtime for Designer event-driven
                flows and the default is false.
              type: boolean
            designerWebhookEventFlow:
              description: >-
                This property enables the runtime for Designer webhook
                event-driven flows and the default is false.
              type: boolean
            toolkitFlow:
              description: >-
                This property enables the runtime for Toolkit flows and the
                default is false.
              type: boolean
          type: object
        forceFlowBasicAuth:
          properties:
            enabled:
              description: >-
                This property enables basic authentication on all HTTP input
                flows.
              type: boolean
          type: object
        java:
          properties:
            version:
              description: >-
                The Java version to be used by the App Connect Enterprise
                runtime. Only valid for operands 13.0.5.0-r1 and above.
              type: string
          type: object
        replicas:
          description: >-
            This property specifies the number of replicas. If you increase the
            number of replicas, resource requirements are increated
            proportionally.
          format: int32
          minimum: 0
          type: integer
        strategy:
          description: Update strategy for Always-On deployments
          properties:
            rollingUpdate:
              description: >-
                This field specifies rolling update configuration parameters.
                This field is present only if DeploymentStrategyType =
                RollingUpdate.
              properties:
                maxSurge:
                  anyOf:
                    - type: integer
                    - type: string
                  description: >-
                    The maximum number of pods that can be scheduled above the
                    desired number of pods. This value can be an absolute number
                    (such as  5) or a percentage of desired pods (such as 10%).
                    This value can't  be 0 if MaxUnavailable is 0. The absolute
                    number is calculated from the percentage by rounding up and
                    defaults to 25%. For example,  when this value is set to
                    30%, the new ReplicaSet can be scaled up immediately when
                    the rolling update starts, so that the total number of old
                    and new pods don't exceed 130% of desired pods. When old
                    pods have been stopped, a new ReplicaSet can be scaled up
                    further, ensuring that the total number of pods that are
                    running at any time during the update is at most 130% of
                    desired pods.
                  x-kubernetes-int-or-string: true
                maxUnavailable:
                  anyOf:
                    - type: integer
                    - type: string
                  description: >-
                    The maximum number of pods that can be unavailable during
                    the update. This value can be an absolute number (such as 5)
                    or a percentage of desired pods (such as 10%). The absolute
                    number is calculated from the percentage by rounding down.
                    This value can't be 0 if MaxSurge is 0 and it defaults to
                    25%. For example, when this value is set to 30%, the old
                    ReplicaSet can be scaled down to 70% of desired pods
                    immediately when the rolling update starts. When new pods
                    are ready, the old ReplicaSet can be scaled down further,
                    followed by scaling up the new ReplicaSet, ensuring that the
                    total number of pods that are available at all times during
                    the update is at least 70% of desired pods.
                  x-kubernetes-int-or-string: true
              type: object
            type:
              description: >-
                The type of deployment, which can be "Recreate" or
                "RollingUpdate" (the default).
              type: string
          type: object
        template:
          description: Template
          properties:
            spec:
              additionalProperties: false
              properties:
                containers:
                  description: Container-specific configuration
                  items:
                    additionalProperties: false
                    properties:
                      name:
                        $ref: '#/components/schemas/ContainerName'
                      resources:
                        $ref: '#/components/schemas/ReqLimStorage'
                    type: object
                  type: array
              type: object
          type: object
        version:
          description: >-
            This field specifies the version of the App Connect integration
            runtime that you want to create.
          type: string
      additionalProperties: false
      type: object
    IntegrationRuntimeStatus:
      x-ibm-managed-service: readOnly
      description: >-
        IntegrationRuntimeStatus defines the observed state of
        IntegrationRuntime.
      properties:
        conditions:
          $ref: '#/components/schemas/ConditionsList'
        customImages:
          type: boolean
        endpoints:
          $ref: '#/components/schemas/EndpointsList'
        labelSelector:
          type: string
        phase:
          description: The status of the integration runtime.
          type: string
        replicas:
          format: int32
          type: integer
        supportsTraceCustomResource:
          description: >-
            This field specifies whether trace custom resources can be created
            to reference this integration runtime.
          type: boolean
        traceEnabled:
          description: This field specifies whether trace is enabled.
          properties:
            traceCR:
              description: >-
                This field provides details of the trace custom resource that
                exists for this integration runtime.
              properties:
                name:
                  description: The name of trace custom resource.
                  type: string
                service:
                  description: >-
                    This field specifies whether the trace custom resource has
                    enabled service trace.
                  type: boolean
                user:
                  description: >-
                    This field specifies whether he trace custom resource has
                    enabled user trace.
                  type: boolean
              type: object
          type: object
        versions:
          $ref: '#/components/schemas/VersionsList'
      required:
        - versions
      type: object
    IntegrationRuntimeList:
      type: object
      description: A list of integration runtimes.
      required:
        - integrationRuntimes
      additionalProperties: true
      properties:
        integrationRuntimes:
          description: An array of integration runtime objects.
          type: array
          items:
            $ref: '#/components/schemas/IntegrationRuntime'
    IntegrationRuntimeRetrieveBasicAuthCredentials:
      description: |
        Basic authentication credentials for an integration runtime.
      type: object
      additionalProperties: false
      required:
        - username
        - password
      properties:
        username:
          description: The basic authentication username.
          type: string
        password:
          description: The basic authentication password.
          type: string
          format: password
    IntegrationRuntimeResetBasicAuthCredentials:
      description: |
        Basic authentication credentials for an integration runtime.
      type: object
      additionalProperties: false
      required:
        - username
        - password
      properties:
        username:
          description: The basic authentication username.
          type: string
        password:
          description: The basic authentication password.
          type: string
          format: password
    IntegrationRuntimeCollectTrace:
      description: Options for collecting trace from an integration runtime.
      type: object
      additionalProperties: false
      required:
        - type
      properties:
        type:
          $ref: '#/components/schemas/TraceType'
    IntegrationRuntimeResetTrace:
      description: Options for resetting trace on an integration runtime.
      type: object
      additionalProperties: false
      required:
        - type
      properties:
        type:
          $ref: '#/components/schemas/TraceType'
    Metadata:
      additionalProperties: true
      description: Resource metadata
      properties:
        name:
          description: >-
            The resource name. If this field is set for a replace or create
            operation, the field must have the same value as the 'name' path
            parameter.
          type: string
        namespace:
          description: The resource namespace.
          type: string
          x-ibm-managed-service: readOnly
        annotations:
          additionalProperties:
            type: string
          description: Apply custom annotations to the deployment.
          x-ibm-managed-service: readOnly
          type: object
      type: object
    AvailableList:
      description: The available channels and versions of the resource.
      properties:
        channels:
          description: The available channels of the resource.
          items:
            $ref: '#/components/schemas/VersionName'
          type: array
        versions:
          description: The available versions of the resource.
          items:
            $ref: '#/components/schemas/VersionName'
          type: array
      type: object
      additionalProperties: false
    LicensesList:
      description: A list of licenses.
      items:
        type: object
        additionalProperties: false
        properties:
          name:
            description: The license name.
            type: string
          displayName:
            description: The license display name.
            type: string
          link:
            description: The link to the license.
            type: string
          matchesCurrentType:
            description: Matches the current type.
            type: boolean
      type: array
    VersionsList:
      description: The available and reconciled versions of the resource.
      properties:
        available:
          $ref: '#/components/schemas/AvailableList'
        reconciled:
          description: The reconciled version of the resource.
          type: string
      type: object
      additionalProperties: false
    VersionName:
      description: Details of the version and channel.
      properties:
        name:
          description: The name of the version.
          type: string
        licenses:
          $ref: '#/components/schemas/LicensesList'
      type: object
      additionalProperties: false
    Error:
      type: object
      additionalProperties: false
      description: >
        The error object contains an array of `errors` that lists all of the
        errors that have occurred.
      required:
        - errors
      properties:
        errors:
          type: array
          description: An array of errors.
          items:
            $ref: '#/components/schemas/ErrorItem'
    ErrorItem:
      description: >
        Each error has * An error `code` * An error `message` that provides a
        description of the error that has occurred and might also have a
        `more_info` link that points to more information about the error.
      type: object
      required:
        - code
        - message
      additionalProperties: true
      properties:
        code:
          description: The unique error code.
          type: string
        message:
          description: A text message that describes the error that occurred.
          type: string
        moreInfo:
          description: A URL link that provides more information about this error.
          type: string
        errorDetails:
          description: More textual information about this error.
          type: string
        context:
          description: Extra machine-readable properties.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SimpleType'
    SimpleType:
      anyOf:
        - type: string
        - type: number
        - type: boolean
    Batch:
      description: An individual batch
      type: object
      additionalProperties: false
      required:
        - state
        - id
      properties:
        id:
          type: string
          x-ibm-managed-service: readOnly
          description: The unique ID of this batch
        state:
          type: string
          enum:
            - paused
            - running
            - stopping
            - stopped
            - expiring
            - expired
            - complete
          description: The state of 'this' batch
        nodeName:
          type: string
          x-ibm-managed-service: readOnly
          description: |
            The name of the batch node that initiated this batch.
        flowId:
          type: string
          x-ibm-managed-service: readOnly
          description: |
            The unique ID of the flow in which this batch is running
        start:
          description: >-
            This is the start time for this batch in epoch time (milliseconds
            since 00:00:00 UTC Thursday, 1 January 1970)
          type: number
          x-ibm-managed-service: readOnly
        end:
          description: >-
            This is the end time for this batch in epoch time (milliseconds
            since 00:00:00 UTC Thursday, 1 January 1970)
          type: number
          x-ibm-managed-service: readOnly
        expiry:
          description: >-
            This is the time that the batch will expire in epoch time
            (milliseconds since 00:00:00 UTC Thursday, 1 January 1970)
          type: number
          x-ibm-managed-service: readOnly
        recordsProcessed:
          additionalProperties: false
          x-ibm-managed-service: readOnly
          type: object
          properties:
            success:
              type: number
              description: The number of records successfully processed
            error:
              type: number
              description: The number of records processed with an error
            canceled:
              type: number
              description: The number of cancelled records
            total:
              type: number
              description: The total number of records processed
          description: |
            Number of records processed by 'this' batch
        extract:
          type: object
          x-ibm-managed-service: readOnly
          additionalProperties: false
          properties:
            state:
              type: string
              enum:
                - paused
                - running
                - complete
                - stopped
              description: The state of a given extract object
            pausedUntil:
              type: number
              description: >-
                Paused until time in epoch time (milliseconds since 00:00:00 UTC
                Thursday, 1 January 1970)
            pausedCount:
              type: number
              description: Total number of times the current extract was paused.
            pausedTime:
              type: number
              description: >-
                Total time the current extract has been stayed in the paused
                state in milliseconds.
            pausedReason:
              type: string
              description: >-
                The reason of the current extract is paused. The value will be
                one of `System Error`, `Manual` or HTTP code from the extracting
                system.
            recordsExtracted:
              type: number
              description: The number of records extracted
          description: |
            Current extract object
    BatchList:
      additionalProperties: false
      description: A list of batches
      properties:
        batches:
          description: An array of batches
          items:
            $ref: '#/components/schemas/Batch'
          type: array
      required:
        - batches
      type: object
    TraceType:
      description: Enumeration for the types of trace that are available.
      type: string
      enum:
        - user
        - service
    TraceZipIr:
      type: string
      description: >-
        A compressed file that contains trace from all integration runtime
        replicas.
      format: binary
    ConditionsList:
      description: A list of conditions of the integration runtime.
      items:
        properties:
          lastTransitionTime:
            description: The date and time when the status last changed.
            format: date-time
            type: string
          message:
            description: The status message.
            type: string
          reason:
            description: The reason for the last transition of this status.
            type: string
          status:
            description: Whether this condition applies to the resource.
            enum:
              - 'True'
              - 'False'
              - Unknown
            type: string
          type:
            description: The status type.
            type: string
        required:
          - lastTransitionTime
          - message
          - status
          - type
        type: object
        additionalProperties: false
      type: array
    EndpointsList:
      description: The endpoint of the resource.
      items:
        properties:
          name:
            description: The name of the endpoint.
            type: string
          type:
            description: >-
              The type of the endpoint; for example, 'ui' for a UI endpoint,
              'api' for an API endpoint, or 'openapi' for API documentation.
            type: string
          uri:
            description: The URI of the endpoint.
            type: string
        required:
          - name
          - type
          - uri
        type: object
        additionalProperties: false
      type: array
    ReqLimStorage:
      description: CPU and memory configuration for the container.
      properties:
        limits:
          description: CPU and memory limits for the container.
          properties:
            cpu:
              anyOf:
                - type: integer
                - type: string
              description: >-
                The upper limit of CPU core. Specify integers, fractions (for
                example, 0.5), or millicores values (for example, 100m, where
                100m is equivalent to .1 core).
              pattern: >-
                ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
              x-kubernetes-int-or-string: true
            memory:
              anyOf:
                - type: integer
                - type: string
              description: >-
                The memory upper limit in bytes. Specify integers with suffixes:
                E, P, T, G, M, K, or power-of-two equivalents: Ei, Pi, Ti, Gi,
                Mi, Ki.
              pattern: >-
                ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
              x-kubernetes-int-or-string: true
          type: object
          additionalProperties: false
      type: object
      additionalProperties: false
    ContainerName:
      description: The name of the container.
      type: string
  responses:
    Error400:
      description: >
        Bad request: This error is used when the API request can't be
        understood.

        More information might be provided in the response body.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error401:
      description: |
        Unauthorized: The request requires user authentication.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error403:
      description: |
        Forbidden: The server understands the request but refuses to process it.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error404:
      description: |
        Not found: This error is used when a specific resource can't be located.
        More information might be provided in the response body.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error409:
      description: |
        Conflict: A resource with this name already exists.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error500:
      description: >
        Internal server error.

        The server encountered an unexpected condition that prevented it from
        fulfilling the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
externalDocs:
  description: App Connect Enterprise as a Service documentation
  url: https://ibm.biz/ACEaaSDocs
