openapi: 3.0.1
info:
  title: Connxio API
  description: "## Introduction\n    This API is documented in the **OpenAPI format** and provides users with programmatic access to the Connxio platform, allowing them to interact with and control various aspects of their integrations and workflows. With the Connxio API, users can automate integration processes, manage configurations, and programmatically interact with the messaging capabilities, providing flexibility and customization options for seamless integration with their existing systems.\n\n    ## Cross-Origin Resource Sharing\n    This API features Cross-Origin Resource Sharing(CORS) implemented in compliance with the [W3C spec](https://www.w3.org/TR/cors/) which allows for cross-domain communication from the browser.\n    All responses have a wildcard same-origin policy.\n\n    ## Authentication\n    The Connxio API offers two forms of authentication:\n      - [API Key (required)](/connxio-portal/apikeys)\n      - [OAuth2](https://oauth.net/2/)\n      \n    The API Key is required for all requests to the API. The OAuth2 authentication is implemented using the [Client Credentials Flow](https://datatracker.ietf.org/doc/html/rfc6749#section-4.4) and is strongly recommended for all requests to the API."
  contact:
    name: Evidi
    url: https://www.evidi.com
    email: support@connxio.no
  version: '3.0'
  x-logo:
    url: /img/connxio-logo.svg
    altText: Connxio Logo
servers:
  - url: https://app-cx-qp-zelda-api.azurewebsites.net
paths:
  /v3/error/subscription:
    get:
      tags:
        - Error
      summary: Lists a page of persisted errors for the current subscription.
      description: "Searches only the subscription identified by the current subscription header. Results are newest first.\r\nWhen from and to are omitted, all retained persisted errors are included. An empty errors collection returns 200, not 404.\r\nUse skip, size, and hasNextPage to iterate through results."
      operationId: GET_api/v3/error/subscription
      parameters:
        - name: From
          in: query
          schema:
            type: string
            format: date-time
        - name: To
          in: query
          schema:
            type: string
            format: date-time
        - name: Skip
          in: query
          schema:
            type: integer
            format: int32
        - name: Size
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: A page of persisted errors whose errors collection may be empty.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
        '400':
          description: The requested filters or paging settings are invalid.
        '502':
          description: Persisted errors could not be retrieved.
  '/v3/error/interchange/{interchangeId}':
    get:
      tags:
        - Error
      summary: Gets the persisted error for one interchange identifier.
      description: Performs an exact lookup within the current subscription. Date and paging filters do not apply.
      operationId: 'GET_api/v3/error/interchange/{interchangeId}'
      parameters:
        - name: interchangeId
          in: path
          description: The interchange identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The persisted error.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorViewModel'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorViewModel'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorViewModel'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorViewModel'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorViewModel'
        '404':
          description: No persisted error exists for the supplied interchange identifier.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '502':
          description: The persisted error could not be retrieved.
  '/v3/error/integration/{integrationId}':
    get:
      tags:
        - Error
      summary: Lists a page of persisted errors for one integration in the current subscription.
      description: "Searches errors for the specified integration within the current subscription. Results are newest first.\r\nWhen from and to are omitted, all retained persisted errors are included. An empty errors collection returns 200, not 404.\r\nAn empty result does not distinguish an integration with no errors from an integration that does not exist.\r\nUse skip, size, and hasNextPage to iterate through results."
      operationId: 'GET_api/v3/error/integration/{integrationId}'
      parameters:
        - name: integrationId
          in: path
          description: The integration identifier.
          required: true
          schema:
            type: string
        - name: From
          in: query
          schema:
            type: string
            format: date-time
        - name: To
          in: query
          schema:
            type: string
            format: date-time
        - name: Skip
          in: query
          schema:
            type: integer
            format: int32
        - name: Size
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: A page of persisted errors whose errors collection may be empty.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PersistedErrorsResponse'
        '400':
          description: The requested filters or paging settings are invalid.
        '502':
          description: Persisted errors could not be retrieved.
  '/v3/messages/{integrationId}':
    post:
      tags:
        - Messages
      summary: Sends a single message to Connxio
      operationId: 'POST_api/v3/messages/{integrationId}'
      parameters:
        - name: MessageEncoding
          in: query
          schema:
            type: string
        - name: InterchangeId
          in: query
          schema:
            type: string
        - name: FileName
          in: query
          schema:
            type: string
        - name: integrationId
          in: path
          description: ''
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
            examples:
              Example request:
                value: '{"foo":"bar"}'
          application/xml:
            schema:
              type: string
            examples:
              Example request:
                value: "<root>\n  <Foo>bar</Foo>\n</root>"
        required: true
      responses:
        '200':
          description: The message was validated and sent to the Connxio engine
        '400':
          description: The supplied message or metadata did not pass validation
        '502':
          description: Could not contact internal services. Please try again later or contact our support department
  '/v3/messages/{integrationId}/batch':
    post:
      tags:
        - Messages
      summary: Sends a batch of messages to Connxio
      operationId: 'POST_api/v3/messages/{integrationId}/batch'
      parameters:
        - name: integrationId
          in: path
          description: ''
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/MessageBodyRequest'
            examples:
              Array of MessageBodyRequest:
                value: '[{"messageEncoding":"string","interchangeId":"string","messageBody":"string","fileName":"string"}]'
          application/xml:
            schema:
              $ref: '#/components/schemas/ArrayOfMessageBodyRequest'
            examples:
              Array of MessageBodyRequest:
                value: "<ArrayOfMessageBodyRequest>\n  <MessageBodyRequest>\n    <MessageEncoding>string</MessageEncoding>\n    <InterchangeId>string</InterchangeId>\n    <MessageBody>string</MessageBody>\n    <FileName>string</FileName>\n  </MessageBodyRequest>\n</ArrayOfMessageBodyRequest>"
        required: true
      responses:
        '200':
          description: The message was validated and sent to the Connxio engine
        '400':
          description: The supplied message or metadata did not pass validation
        '502':
          description: Could not contact internal services. Please try again later or contact our support department
  '/v3/messages/{integrationId}/eventgrid':
    post:
      tags:
        - Messages
      summary: Sends an Event Grid message to Connxio.
      operationId: 'POST_api/v3/messages/{integrationId}/eventgrid'
      parameters:
        - name: MessageEncoding
          in: query
          schema:
            type: string
        - name: InterchangeId
          in: query
          schema:
            type: string
        - name: FileName
          in: query
          schema:
            type: string
        - name: integrationId
          in: path
          description: ''
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/EventGridMessage'
            examples:
              Array of EventGridMessage:
                value: '[{"topic":"string","subject":"string","eventType":"string","eventTime":"2023-03-31T19:29:12.612Z","id":"string","data":"string","dataVersion":"string","metadataVersion":"string"}]'
          application/xml:
            schema:
              $ref: '#/components/schemas/ArrayOfEventGridMessage'
            examples:
              Array of EventGridMessage:
                value: "<ArrayOfEventGridMessage>\n  <EventGridMessage>\n    <Topic>string</Topic>\n    <Subject>string</Subject>\n    <EventType>string</EventType>\n    <EventTime>2023-03-31T19:27:48.597Z</EventTime>\n    <Id>string</Id>\n    <Data>string</Data>\n    <DataVersion>string</DataVersion>\n    <MetadataVersion>string</MetadataVersion>\n  </EventGridMessage>\n</ArrayOfEventGridMessage>"
        required: true
      responses:
        '200':
          description: The message was validated and sent to the Connxio engine
        '400':
          description: The supplied message or metadata did not pass validation
        '502':
          description: Could not contact internal services. Please try again later or contact our support department
  /v3/performance/company:
    get:
      tags:
        - Performance
      summary: Lists a page of performance metrics for the current company.
      description: "Searches metrics across all subscriptions in the current company. Results are newest first.\r\nAn empty metrics collection returns 200, not 404. The effective date window defaults to the last 24 hours.\r\nUse skip, size, and hasNextPage to iterate through results."
      operationId: GET_api/v3/performance/company
      parameters:
        - name: From
          in: query
          schema:
            type: string
            format: date-time
        - name: To
          in: query
          schema:
            type: string
            format: date-time
        - name: Skip
          in: query
          schema:
            type: integer
            format: int32
        - name: Size
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: A page of performance metrics whose metrics collection may be empty.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
        '400':
          description: The requested filters or paging settings are invalid.
        '502':
          description: Performance metrics could not be retrieved.
  /v3/performance/subscription:
    get:
      tags:
        - Performance
      summary: Lists a page of performance metrics for the current subscription.
      description: "Searches only the subscription identified by the current subscription header. Results are newest first.\r\nAn empty metrics collection returns 200, not 404. The effective date window defaults to the last 24 hours.\r\nUse skip, size, and hasNextPage to iterate through results."
      operationId: GET_api/v3/performance/subscription
      parameters:
        - name: From
          in: query
          schema:
            type: string
            format: date-time
        - name: To
          in: query
          schema:
            type: string
            format: date-time
        - name: Skip
          in: query
          schema:
            type: integer
            format: int32
        - name: Size
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: A page of performance metrics whose metrics collection may be empty.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
        '400':
          description: The requested filters or paging settings are invalid.
        '502':
          description: Performance metrics could not be retrieved.
  '/v3/performance/interchange/{interchangeId}':
    get:
      tags:
        - Performance
      summary: Gets the performance metric for one interchangeId.
      description: "Performs an exact lookup within the current company. Date and paging filters do not apply.\r\nA metric that belongs to another company is returned as not found."
      operationId: 'GET_api/v3/performance/interchange/{interchangeId}'
      parameters:
        - name: interchangeId
          in: path
          description: The interchange identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The performance metric.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricViewModel'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricViewModel'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricViewModel'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricViewModel'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricViewModel'
        '404':
          description: No performance metric exists for the supplied interchange identifier.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '502':
          description: Performance metrics could not be retrieved.
  '/v3/performance/integration/{integrationId}':
    get:
      tags:
        - Performance
      summary: Lists performance metrics for one integration.
      description: "Searches the specified integration across all subscriptions in the current company. Results are newest first.\r\nAn empty metrics collection returns 200, not 404. The effective date window defaults to the last 24 hours.\r\nUse skip, size, and hasNextPage to iterate through results."
      operationId: 'GET_api/v3/performance/integration/{integrationId}'
      parameters:
        - name: integrationId
          in: path
          description: The integration identifier.
          required: true
          schema:
            type: string
        - name: From
          in: query
          schema:
            type: string
            format: date-time
        - name: To
          in: query
          schema:
            type: string
            format: date-time
        - name: Skip
          in: query
          schema:
            type: integer
            format: int32
        - name: Size
          in: query
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: A page of performance metrics whose metrics collection may be empty.
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/PerformanceMetricsResponse'
        '400':
          description: 'The requested integration identifier, date range, or paging settings are invalid.'
        '502':
          description: Performance metrics could not be retrieved.
  /v3/schemas:
    get:
      tags:
        - Schemas
      summary: List metadata for the latest version of all schemas
      description: "Schema content is not included. Retrieve an individual schema to get its latest content,\r\nor retrieve its versions to get the content for every version."
      operationId: GET_api/v3/schemas
      responses:
        '200':
          description: OK
          content:
            text/plain; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
            application/json; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
            text/json; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
            application/xml; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
            text/xml; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
    put:
      tags:
        - Schemas
      summary: Create a schema or upload a new version
      description: "This endpoint always creates a new schema version and cannot modify an existing version.\r\nUse the deprecate endpoint to change the deprecated state of an existing version."
      operationId: PUT_api/v3/schemas
      requestBody:
        content:
          application/json-patch+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SchemaMetadataRequest'
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SchemaMetadataRequest'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SchemaMetadataRequest'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SchemaMetadataRequest'
          application/xml; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SchemaMetadataRequest'
          text/xml; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SchemaMetadataRequest'
          application/*+xml; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SchemaMetadataRequest'
      responses:
        '200':
          description: OK
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
  '/v3/schemas/{id}':
    get:
      tags:
        - Schemas
      summary: Find the newest schema by id
      description: "Returns only the newest schema version, including its content.\r\nUse the versions endpoint to retrieve historical versions."
      operationId: 'GET_api/v3/schemas/{id}'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaMetadataViewModel'
    delete:
      tags:
        - Schemas
      summary: Delete a schema and all of its versions
      description: Permanently deletes all versions and their content. Deletion fails when an integration references the schema.
      operationId: 'DELETE_api/v3/schemas/{id}'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
  '/v3/schemas/{id}/versions':
    get:
      tags:
        - Schemas
      summary: List all schema versions by id
      description: "Returns all versions, newest first, including the content of each version.\r\nUse this endpoint to compare schema version history."
      operationId: 'GET_api/v3/schemas/{id}/versions'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            text/plain; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
            application/json; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
            text/json; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
            application/xml; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
            text/xml; x-api-version=3.0:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaMetadataViewModel'
  '/v3/schemas/{id}/versions/{schemaVersion}/content':
    get:
      tags:
        - Schemas
      summary: Get the JSON content for a schema version
      description: "Retrieves the content for one specified historical version.\r\nThe versions endpoint includes the content for every version when comparing versions."
      operationId: 'GET_api/v3/schemas/{id}/versions/{schemaVersion}/content'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: schemaVersion
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            text/plain; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaContentViewModel'
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaContentViewModel'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaContentViewModel'
            application/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaContentViewModel'
            text/xml; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SchemaContentViewModel'
  '/v3/schemas/{id}/deprecate':
    put:
      tags:
        - Schemas
      summary: Deprecate a schema version
      description: "Toggles the deprecated state of the specified version. Calling this endpoint again restores the version.\r\nThis is the only supported change to an existing schema version."
      operationId: 'PUT_api/v3/schemas/{id}/deprecate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: version
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
components:
  schemas:
    ArrayOfEventGridMessage:
      type: object
      properties:
        eventGridMessages:
          type: array
          items:
            $ref: '#/components/schemas/EventGridMessage'
          nullable: true
      additionalProperties: false
    ArrayOfMessageBodyRequest:
      type: object
      properties:
        messageBodyRequests:
          type: array
          items:
            $ref: '#/components/schemas/MessageBodyRequest'
          nullable: true
      additionalProperties: false
    EventGridMessage:
      type: object
      properties:
        topic:
          type: string
          nullable: true
        subject:
          type: string
          nullable: true
        eventType:
          type: string
          nullable: true
        eventTime:
          type: string
          format: date-time
        id:
          type: string
          nullable: true
        data:
          nullable: true
        dataVersion:
          type: string
          nullable: true
        metadataVersion:
          type: string
          nullable: true
      additionalProperties: false
    MessageBodyRequest:
      required:
        - messageBody
      type: object
      properties:
        messageEncoding:
          type: string
          nullable: true
        interchangeId:
          type: string
          nullable: true
        messageBody:
          type: string
          format: byte
        fileName:
          type: string
          nullable: true
      additionalProperties: false
    PerformanceMetricViewModel:
      required:
        - inboundAdapter
        - outboundAdapter
      type: object
      properties:
        interchangeId:
          type: string
          nullable: true
        integrationId:
          type: string
          nullable: true
        companyId:
          type: string
          nullable: true
        subscriptionId:
          type: string
          nullable: true
        subIntegrationId:
          type: string
          nullable: true
        actionId:
          type: string
          nullable: true
        eventOrigin:
          type: string
          nullable: true
        completionTimeMilliseconds:
          type: number
          format: double
        started:
          type: string
          format: date-time
        ended:
          type: string
          format: date-time
        sizeInBytes:
          type: integer
          format: int32
        inboundAdapter:
          type: string
          nullable: true
        outboundAdapter:
          type: string
          nullable: true
        successfull:
          type: boolean
        payable:
          type: boolean
        isTestRun:
          type: boolean
        testRunId:
          type: string
          nullable: true
        isFailure:
          type: boolean
        transactionErrorType:
          type: string
          nullable: true
        isNonTransientFailure:
          type: boolean
        message:
          type: string
          nullable: true
        stackTrace:
          type: string
          nullable: true
        lastEncounter:
          type: string
          format: date-time
      additionalProperties: false
    PerformanceMetricsResponse:
      required:
        - metrics
      type: object
      properties:
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/PerformanceMetricViewModel'
          nullable: true
        totalCount:
          type: integer
          format: int64
        skip:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        returnedCount:
          type: integer
          format: int32
        currentPage:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int64
        hasPreviousPage:
          type: boolean
        hasNextPage:
          type: boolean
        from:
          type: string
          format: date-time
          nullable: true
        to:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    PersistedErrorViewModel:
      type: object
      properties:
        subscriptionId:
          type: string
          nullable: true
        integrationId:
          type: string
          nullable: true
        interchangeId:
          type: string
          nullable: true
        failureOrigin:
          type: string
          nullable: true
        exceptionMessage:
          type: string
          nullable: true
        failedAt:
          type: string
          format: date-time
        sourceConfigId:
          type: string
          nullable: true
        subIntegrationId:
          type: string
          nullable: true
        adapterId:
          type: string
          nullable: true
        blobName:
          type: string
          nullable: true
        metaData:
          type: string
          nullable: true
        senderId:
          type: string
          nullable: true
        receiverId:
          type: string
          nullable: true
        documentType:
          type: string
          nullable: true
        isAck:
          type: boolean
        resumeAttempts:
          type: integer
          format: int32
        transformationIndex:
          type: integer
          format: int32
          nullable: true
        markedForDeletion:
          type: boolean
      additionalProperties: false
    PersistedErrorsResponse:
      required:
        - errors
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/PersistedErrorViewModel'
          nullable: true
        totalCount:
          type: integer
          format: int64
        skip:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        returnedCount:
          type: integer
          format: int32
        currentPage:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int64
        hasPreviousPage:
          type: boolean
        hasNextPage:
          type: boolean
        from:
          type: string
          format: date-time
          nullable: true
        to:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: { }
    SchemaContentViewModel:
      required:
        - content
        - id
        - version
      type: object
      properties:
        id:
          type: string
          nullable: true
        version:
          type: string
          nullable: true
        content:
          type: string
          nullable: true
        fileName:
          type: string
          nullable: true
        contentType:
          type: string
          nullable: true
      additionalProperties: false
    SchemaMetadataRequest:
      required:
        - content
        - id
        - name
        - type
        - version
      type: object
      properties:
        id:
          minLength: 1
          type: string
        name:
          minLength: 1
          pattern: '[A-Za-z0-9\ \-]+'
          type: string
        description:
          type: string
          nullable: true
        version:
          minLength: 1
          type: string
        type:
          minLength: 1
          type: string
        webhookConnectionId:
          type: string
          nullable: true
        originalFilename:
          type: string
          nullable: true
        uploadedBy:
          type: string
          nullable: true
        content:
          type: string
          format: byte
      additionalProperties: false
    SchemaMetadataViewModel:
      required:
        - id
        - name
        - type
        - version
      type: object
      properties:
        id:
          type: string
          nullable: true
        companyId:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        version:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        webhookConnectionId:
          type: string
          nullable: true
        deprecated:
          type: boolean
        originalFilename:
          type: string
          nullable: true
        createdBy:
          type: string
          nullable: true
        updatedBy:
          type: string
          nullable: true
        createdAtUtc:
          type: string
          format: date-time
          nullable: true
        updatedAtUtc:
          type: string
          format: date-time
          nullable: true
        content:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    Connxio-Api-Key:
      type: apiKey
      description: 'API Key for Connxio API. Can also be set using a query parameter. If using the webhook functionality, the header ''Connxio-Api-Webhook'' must also be set to ''true'''
      name: Connxio-Api-Key
      in: header
    Connxio-Api-key:
      type: apiKey
      description: API Key for Connxio API as a query parameter. Only use if headers are unavailable to you.
      name: Connxio-Api-Key
      in: query
    Connxio-Api-Webhook:
      type: apiKey
      description: This header must be set to 'true' to enable webhook functionality for the API key
      name: Connxio-Api-Webhook
      in: header
    Bearer:
      type: http
      description: JWT Authorization header using the Bearer scheme.
      scheme: bearer
security:
  - Connxio-API-Key: [ ]
    Bearer: [ ]