openapi: 3.0.1
info:
  title: Management API
  version: ''
  description: >
    The Synqly Management APIs enable you to manage the resources within your
    Synqly organization, such as setting up Accounts for your customers and
    creating Integrations to connect your product to the different service
    Providers supported by Synqly.


    For more information see the [Synqly
    Overview](/guides/getting-started/overview).
paths:
  /v1/accounts:
    get:
      description: |-
        Returns a list of all `Account` objects. For more information on
        Organizations and Accounts, refer to our
        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).

        **Operation ID:** `accounts_list`
      operationId: accounts_list
      tags:
        - Accounts
      parameters:
        - name: limit
          in: query
          description: Number of `Account` objects to return in this page. Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Account` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: total
          in: query
          description: >-
            Return total number of accounts in the system, respecting all
            applied filters. This is expensive, use sparingly.
          required: false
          schema:
            type: boolean
            nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAccountsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Accounts
      security:
        - BearerAuth: []
    post:
      description: |-
        Creates an `Account` object. For more information on Organizations and
        Accounts, refer to our
        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).

        **Operation ID:** `accounts_create`
      operationId: accounts_create
      tags:
        - Accounts
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Account
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAccountRequest'
  /v1/accounts/{accountId}:
    get:
      description: >-
        Returns the `Account` object matching `{accountId}`. For more
        information on

        Organizations and Accounts, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `accounts_get`
      operationId: accounts_get
      tags:
        - Accounts
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Account
      security:
        - BearerAuth: []
    put:
      description: >-
        Updates the `Account` object matching `{accountId}`. For more
        information on

        Organizations and Accounts, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `accounts_update`
      operationId: accounts_update
      tags:
        - Accounts
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAccountResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Account
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Account'
    patch:
      description: >-
        Patches the `Account` object matching `{accountId}`. For more
        information on

        Organizations and Accounts, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `accounts_patch`
      operationId: accounts_patch
      tags:
        - Accounts
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchAccountResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Account
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
    delete:
      description: >-
        Deletes the `Account` matching `{accountId}`. Deleting an `Account` also
        deletea

        all `Tokens` and `Credentials` belonging to the `Account`.


        **Operation ID:** `accounts_delete`
      operationId: accounts_delete
      tags:
        - Accounts
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Account
      security:
        - BearerAuth: []
  /v1/audit/organizations:
    get:
      description: |-
        Returns a list of all Synqly `Audit` events for the `Organization`.

        **Operation ID:** `audit_list`
      operationId: audit_list
      tags:
        - Audit
      parameters:
        - name: limit
          in: query
          description: Number of `Audit` objects to return in this page. Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Audit` objects starting after this `created_at`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            The order defaults to created_at[asc] and can changed to descending
            order by specifying created_at[desc].
          required: false
          schema:
            type: string
            nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAuditEventsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Audit Events
      security:
        - BearerAuth: []
  /v1/auth/logon/{organizationId}:
    post:
      description: >-
        Initiates a new session for the given member in specified Synqly
        organization.


        **Operation ID:** `auth_logon`
      operationId: auth_logon
      tags:
        - Auth
      parameters:
        - name: organizationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogonResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Logon Organization
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogonRequest'
  /v1/auth/change_password:
    post:
      description: |-
        Change member password.

        **Operation ID:** `auth_change_password`
      operationId: auth_change_password
      tags:
        - Auth
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangePasswordResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Change Member Password
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangePasswordRequest'
  /v1/auth/logoff:
    post:
      description: |-
        Terminates the session identified by the given logon token.

        **Operation ID:** `auth_logoff`
      operationId: auth_logoff
      tags:
        - Auth
      parameters: []
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Logoff
      security:
        - BearerAuth: []
  /v1/bridges/{accountId}:
    get:
      description: >-
        Returns a list of all `Bridge Group` objects that match the query
        params.


        **Operation ID:** `bridges_list`
      operationId: bridges_list
      tags:
        - Bridges
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: limit
          in: query
          description: Number of `Bridge` objects to return in this page. Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Bridge` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBridgesResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Bridge Groups
      security:
        - BearerAuth: []
    post:
      description: |-
        Creates a `Bridge Group` with a unique identifier and authentication
        credentials. This allows for Bridge Agents to connect to Synqly. For
        more information on Bridges, refer to our
        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).

        **Operation ID:** `bridges_create`
      operationId: bridges_create
      tags:
        - Bridges
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBridgeResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Bridge Group
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBridgeRequest'
  /v1/bridges/{accountId}/{bridgeId}:
    get:
      description: >-
        Returns the Bridge Group object matching `{bridgeId}`. For more
        information on Bridges, refer to the

        [Bridge Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `bridges_get`
      operationId: bridges_get
      tags:
        - Bridges
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: bridgeId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBridgeResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Bridge Groups
      security:
        - BearerAuth: []
    put:
      description: >-
        Updates the `Bridge Group` object matching `{bridgeId}`. For more
        information on Bridges, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `bridges_update`
      operationId: bridges_update
      tags:
        - Bridges
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: bridgeId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBridgeResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Bridge Group
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BridgeGroup'
    patch:
      description: >-
        Patches the `Bridge Group` object matching `{bridgeId}`. For more
        information on Bridges, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `bridges_patch`
      operationId: bridges_patch
      tags:
        - Bridges
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: bridgeId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchBridgeResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Bridge Group
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
    delete:
      description: >-
        Deletes the `Bridge Group` matching `{bridgeId}`. Deleting an `Bridge
        Group` also deletea

        all `Tokens` and `Credentials` belonging to the `Bridge Group`.


        **Operation ID:** `bridges_delete`
      operationId: bridges_delete
      tags:
        - Bridges
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: bridgeId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Bridge Group
      security:
        - BearerAuth: []
  /v1/bridges/{accountId}/{bridgeId}/status:
    get:
      description: >-
        Returns the status and local configuration of running Bridges Agents in
        the Bridge Group `{bridgeId}`.


        **Operation ID:** `bridges_get_status`
      operationId: bridges_get_status
      tags:
        - Bridges
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: bridgeId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBridgeStatusResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Bridge Agent Statuses
      security:
        - BearerAuth: []
  /v1/capabilities/connectors:
    get:
      description: |-
        Returns a list of all `Connectors`.

        **Operation ID:** `capabilities_list_connectors`
      operationId: capabilities_list_connectors
      tags:
        - Capabilities
      parameters:
        - name: expand
          in: query
          description: |-
            Expand the capabilities result fields that are otherwise
            omitted or returned as references to OpenAPI spec components.
            NOTE: This can yield very big response objects.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ListConnectorCapabilitiesExpandOptions'
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListConnectorsCapabilitiesResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Connectors
      security:
        - BearerAuth: []
  /v1/capabilities/providers:
    get:
      description: |-
        Returns a list of all Provider capabilities and their configurations.

        **Operation ID:** `capabilities_list_providers`
      operationId: capabilities_list_providers
      tags:
        - Capabilities
      parameters:
        - name: expand
          in: query
          description: |-
            Expand the capabilities result fields that are otherwise
            omitted or returned as references to OpenAPI spec components.
            NOTE: This can yield very big response objects.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ListProviderCapabilitiesExpandOptions'
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProvidersCapabilitiesResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Providers
      security:
        - BearerAuth: []
  /v1/capabilities/providers/{providerId}:
    get:
      description: |-
        Returns the capabilities and configurations for a specific Provider type

        **Operation ID:** `capabilities_get_provider`
      operationId: capabilities_get_provider
      tags:
        - Capabilities
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/ProviderConfigId'
        - name: expand
          in: query
          description: |-
            Expand the capabilities result fields that are otherwise
            omitted or returned as references to OpenAPI spec components.
            NOTE: This can yield very big response objects.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/GetProviderCapabilitiesExpandOptions'
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderCapabilitiesResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Provider
      security:
        - BearerAuth: []
  /v1/credentials/{ownerId}:
    get:
      description: >-
        Returns a list of all `Credential` objects belonging to the `Account`,
        `Integration`, or `IntegrationPoint`, or `OrganizationWebhook` matching

        `{ownerId}`.


        **Operation ID:** `credentials_list`
      operationId: credentials_list
      tags:
        - Credentials
      parameters:
        - name: ownerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: limit
          in: query
          description: >-
            Number of `Credential` objects to return in this page. Defaults to
            100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Credential` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCredentialsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Credentials
      security:
        - BearerAuth: []
    post:
      description: >-
        Creates a `Credential` object in the `Account`, `IntegrationPoint`, or
        `OrganizationWebhook` matching matching

        `{ownerId}`. A `Credential` may only by used by a single `Account`,
        `Integration`, `IntegrationPoint` or `OrganizationWebhook`;

        however, `Credential` objects can be shared by multiple `Integrations`
        within an `Account`.


        **Operation ID:** `credentials_create`
      operationId: credentials_create
      tags:
        - Credentials
      parameters:
        - name: ownerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCredentialResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Credential
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCredentialRequest'
  /v1/credentials/{ownerId}/{credentialId}:
    get:
      description: >-
        Returns the `Credential` object matching `{credentialId}` where the

        `Credential` belongs to the `Account`, `Integration`, `IntegrationPoint`
        or `OrganizationWebhook` matching `{ownerId}`.


        **Operation ID:** `credentials_get`
      operationId: credentials_get
      tags:
        - Credentials
      parameters:
        - name: ownerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: credentialId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCredentialResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Credential
      security:
        - BearerAuth: []
    put:
      description: >-
        Updates the `Credential` object matching `{credentialId}`, where the

        `Credential` belongs to the `Account`, `Integration`, `IntegrationPoint`
        or `OrganizationWebhook` matching `{ownerId}`.


        **Operation ID:** `credentials_update`
      operationId: credentials_update
      tags:
        - Credentials
      parameters:
        - name: ownerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: credentialId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCredentialResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Credential
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Credential'
    patch:
      description: >-
        Patches the `Credential` object matching `{credentialId}`, where the

        `Credential` belongs to the `Account`, `Integration`, `IntegrationPoint`
        or `OrganizationWebhook` matching `{ownerId}`.


        **Operation ID:** `credentials_patch`
      operationId: credentials_patch
      tags:
        - Credentials
      parameters:
        - name: ownerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: credentialId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchCredentialResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Credential
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
    delete:
      description: >-
        Deletes the `Credential` object matching `{credentialId}`, where the

        `Credential` belongs to the `Account`, `Integration`, `IntegrationPoint`
        or `OrganizationWebhook` matching `{ownerId}`.


        **Operation ID:** `credentials_delete`
      operationId: credentials_delete
      tags:
        - Credentials
      parameters:
        - name: ownerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: credentialId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Credential
      security:
        - BearerAuth: []
  /v1/credentials/lookup/{credentialId}:
    get:
      description: |-
        Returns the `Credential` object matching `{credentialId}`.

        **Operation ID:** `credentials_lookup`
      operationId: credentials_lookup
      tags:
        - Credentials
      parameters:
        - name: credentialId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupCredentialResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Lookup Credential
      security:
        - BearerAuth: []
  /v1/integration-points:
    get:
      description: |-
        Returns a list of all `IntegrationPoint` objects.

        **Operation ID:** `integrationPoints_list`
      operationId: integrationPoints_list
      tags:
        - IntegrationPoints
      parameters:
        - name: limit
          in: query
          description: >-
            Number of `IntegrationPoint` objects to return in this page.
            Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `IntegrationPoint` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: total
          in: query
          description: >-
            Return total number of integration points in the system, respecting
            all applied filters. This is expensive, use sparingly.
          required: false
          schema:
            type: boolean
            nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIntegrationPointsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Integration Points
      security:
        - BearerAuth: []
    post:
      description: |-
        Create a `IntegrationPoint` object.

        **Operation ID:** `integrationPoints_create`
      operationId: integrationPoints_create
      tags:
        - IntegrationPoints
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateIntegrationPointResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Integration Point
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIntegrationPointRequest'
  /v1/integration-points/{integrationPointId}:
    get:
      description: |-
        Returns the `IntegrationPoint` object matching `{integrationPointId}`.

        **Operation ID:** `integrationPoints_get`
      operationId: integrationPoints_get
      tags:
        - IntegrationPoints
      parameters:
        - name: integrationPointId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntegrationPointResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Integration Point
      security:
        - BearerAuth: []
    put:
      description: |-
        Updates the `IntegrationPoint` object matching `{integrationPointId}`.

        **Operation ID:** `integrationPoints_update`
      operationId: integrationPoints_update
      tags:
        - IntegrationPoints
      parameters:
        - name: integrationPointId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateIntegrationPointResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Integration Point
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationPoint'
    patch:
      description: |-
        Patches the `IntegrationPoint` object matching `{integrationPointId}`.

        **Operation ID:** `integrationPoints_patch`
      operationId: integrationPoints_patch
      tags:
        - IntegrationPoints
      parameters:
        - name: integrationPointId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchIntegrationPointResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Integration Point
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
    delete:
      description: |-
        Deletes the `IntegrationPoint` object matching `{integrationPointId}`.

        **Operation ID:** `integrationPoints_delete`
      operationId: integrationPoints_delete
      tags:
        - IntegrationPoints
      parameters:
        - name: integrationPointId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Integration Point
      security:
        - BearerAuth: []
  /v1/integrations:
    get:
      description: |-
        Returns a list of all `Integration` objects that match the query params.

        **Operation ID:** `integrations_list`
      operationId: integrations_list
      tags:
        - Integrations
      parameters:
        - name: limit
          in: query
          description: >-
            Number of `Integration` objects to return in this page. Defaults to
            100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Integration` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: expand
          in: query
          description: >-
            Expand the integration result with the related integration point
            and/or account information.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ListIntegrationOptions'
              nullable: true
        - name: total
          in: query
          description: >-
            Return total number of all integrations in the system, respecting
            all applied filters. This is expensive, use sparingly.
          required: false
          schema:
            type: boolean
            nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIntegrationsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Integrations
      security:
        - BearerAuth: []
  /v1/integrations/{accountId}:
    get:
      description: |-
        Returns a list of all `Integration` objects belonging to the
        `Account` matching `{accountId}`.

        **Operation ID:** `integrations_list_account`
      operationId: integrations_list_account
      tags:
        - Integrations
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: limit
          in: query
          description: >-
            Number of `Integration` objects to return in this page. Defaults to
            100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Integration` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: expand
          in: query
          description: >-
            Expand the integration result with the related integration point
            and/or account information.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ListIntegrationOptions'
              nullable: true
        - name: total
          in: query
          description: >-
            Return total number of integrations for a particular account. This
            is expensive, use sparingly.
          required: false
          schema:
            type: boolean
            nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAccountIntegrationsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Account Integrations
      security:
        - BearerAuth: []
    post:
      description: >-
        Creates an `Integration` object belonging to the `Account` matching

        `{accountId}`. Configures the `Integration` with the Provider specified

        in the request. Returns an `Integration` token for use with
        `Integration` APIs.


        **Operation ID:** `integrations_create`
      operationId: integrations_create
      tags:
        - Integrations
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateIntegrationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '501':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '502':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '504':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Integration
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIntegrationRequest'
  /v1/integrations/{accountId}/{integrationId}:
    get:
      description: |-
        Returns the `Integration` object matching `{integrationId}` where
        the `Integration` belongs to the `Account` matching `{accountId}`.

        **Operation ID:** `integrations_get`
      operationId: integrations_get
      tags:
        - Integrations
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntegrationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Integration
      security:
        - BearerAuth: []
    put:
      description: |-
        Updates the `Integration` object matching `{integrationId}`, where the
        `Integration` belongs to the `Account` matching `{accountId}`.

        **Operation ID:** `integrations_update`
      operationId: integrations_update
      tags:
        - Integrations
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateIntegrationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Integration
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Integration'
    patch:
      description: |-
        Patches the `Integration` object matching `{integrationId}`, where the
        `Integration` belongs to the `Account` matching `{accountId}`.

        **Operation ID:** `integrations_patch`
      operationId: integrations_patch
      tags:
        - Integrations
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchIntegrationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Integration
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
    delete:
      description: >-
        Deletes the `Integration` object matching `{integrationId}, where the
        `Integration`belongs to the`Account`matching`{accountId}`. Deleting an
        `Integration` also deletes any tokens that belong to it.


        **Operation ID:** `integrations_delete`
      operationId: integrations_delete
      tags:
        - Integrations
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Integration
      security:
        - BearerAuth: []
  /v1/integrations/{accountId}/verify:
    post:
      description: >-
        Verifies an ephemeral `Integration` and provider configuration and tests
        the authentication and provider connectivity.

        The provider config credential IDs can utilize persistent IDs or use
        "#/n" reference IDs;

        where (n) is the zero based offset in the optional credentials list.


        **Operation ID:** `integrations_verify`
      operationId: integrations_verify
      tags:
        - Integrations
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '501':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '502':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '504':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Verify Integration
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyIntegrationRequest'
  /v1/mappings:
    get:
      description: |-
        {% admonition type="warning" name="In Development" %}
        This operation is actively being developed. Breaking changes should be
        expected.

        Please contact us before using this operation.
        {% /admonition %}
        Returns a list of all `Mapping` objects.

        **Operation ID:** `mappings_list`
      operationId: mappings_list
      tags:
        - Mappings
      parameters:
        - name: limit
          in: query
          description: >-
            Number of mapping objects to return in this page. Defaults to 100.
            Items listed will not include the `data` field.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return mapping objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: total
          in: query
          description: >-
            Return total number of mappings in the system, respecting all
            applied filters. This is expensive, use sparingly.
          required: false
          schema:
            type: boolean
            nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMappingsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Mappings
      security:
        - BearerAuth: []
      x-badges:
        - name: Alpha
          color: in-development
          position: before
    post:
      description: |-
        {% admonition type="warning" name="In Development" %}
        This operation is actively being developed. Breaking changes should be
        expected.

        Please contact us before using this operation.
        {% /admonition %}
        Creates an mapping object.

        **Operation ID:** `mappings_create`
      operationId: mappings_create
      tags:
        - Mappings
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateMappingResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Mapping
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMappingRequest'
      x-badges:
        - name: Alpha
          color: in-development
          position: before
  /v1/mappings/{mappingId}:
    get:
      description: >-
        {% admonition type="warning" name="In Development" %}

        This operation is actively being developed. Breaking changes should be

        expected.


        Please contact us before using this operation.

        {% /admonition %}

        Returns the `Mapping` object matching `{mappingId}`. This response will
        include the full `data` field.


        **Operation ID:** `mappings_get`
      operationId: mappings_get
      tags:
        - Mappings
      parameters:
        - name: mappingId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMappingResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Mapping
      security:
        - BearerAuth: []
      x-badges:
        - name: Alpha
          color: in-development
          position: before
    put:
      description: |-
        {% admonition type="warning" name="In Development" %}
        This operation is actively being developed. Breaking changes should be
        expected.

        Please contact us before using this operation.
        {% /admonition %}
        Updates the mapping object matching `{mappingId}`.

        **Operation ID:** `mappings_update`
      operationId: mappings_update
      tags:
        - Mappings
      parameters:
        - name: mappingId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateMappingResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Mapping
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Mapping'
      x-badges:
        - name: Alpha
          color: in-development
          position: before
    patch:
      description: |-
        {% admonition type="warning" name="In Development" %}
        This operation is actively being developed. Breaking changes should be
        expected.

        Please contact us before using this operation.
        {% /admonition %}
        Patches the mapping object matching `{mappingId}`.

        **Operation ID:** `mappings_patch`
      operationId: mappings_patch
      tags:
        - Mappings
      parameters:
        - name: mappingId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchMappingResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Mapping
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
      x-badges:
        - name: Alpha
          color: in-development
          position: before
    delete:
      description: |-
        {% admonition type="warning" name="In Development" %}
        This operation is actively being developed. Breaking changes should be
        expected.

        Please contact us before using this operation.
        {% /admonition %}
        Deletes the mapping object matching `{mappingId}`.

        **Operation ID:** `mappings_delete`
      operationId: mappings_delete
      tags:
        - Mappings
      parameters:
        - name: mappingId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Mapping
      security:
        - BearerAuth: []
      x-badges:
        - name: Alpha
          color: in-development
          position: before
  /v1/mappings/apply:
    post:
      description: |-
        {% admonition type="warning" name="In Development" %}
        This operation is actively being developed. Breaking changes should be
        expected.

        Please contact us before using this operation.
        {% /admonition %}
        Apply a list of mapping transforms against the JSON input.

        **Operation ID:** `mappings_apply`
      operationId: mappings_apply
      tags:
        - Mappings
      parameters:
        - name: include_raw_data
          in: query
          description: Include the raw data from the input in the response
          required: false
          schema:
            type: boolean
            nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyMappingResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Apply Mappings
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyMappingRequestBody'
      x-badges:
        - name: Alpha
          color: in-development
          position: before
  /v1/members:
    get:
      description: |-
        List all members

        **Operation ID:** `members_list`
      operationId: members_list
      tags:
        - Members
      parameters:
        - name: limit
          in: query
          description: Number of `Member` objects to return in this page. Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Member` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMembersResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Members
      security:
        - BearerAuth: []
    post:
      description: |-
        Add a new member for this Organization.

        **Operation ID:** `members_create`
      operationId: members_create
      tags:
        - Members
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateMemberResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Member
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMemberRequest'
  /v1/members/{memberId}:
    get:
      description: |-
        Retrieve a Member by ID

        **Operation ID:** `members_get`
      operationId: members_get
      tags:
        - Members
      parameters:
        - name: memberId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMemberResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Member
      security:
        - BearerAuth: []
    put:
      description: |-
        Update a Member by ID

        **Operation ID:** `members_update`
      operationId: members_update
      tags:
        - Members
      parameters:
        - name: memberId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateMemberResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Member
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Member'
    patch:
      description: |-
        Update a Member by ID

        **Operation ID:** `members_patch`
      operationId: members_patch
      tags:
        - Members
      parameters:
        - name: memberId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchMemberResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Member
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
    delete:
      description: |-
        Delete a Member by ID. Also deletes all Tokens for the Member.

        **Operation ID:** `members_delete`
      operationId: members_delete
      tags:
        - Members
      parameters:
        - name: memberId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Member
      security:
        - BearerAuth: []
  /v1/meta/openapi/management:
    get:
      description: |-
        Retrieve the OpenAPI spec for the Management API

        **Operation ID:** `meta_managementOpenapiSpec`
      operationId: meta_managementOpenapiSpec
      tags:
        - Meta
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOpenApiSpecResponse'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Management OpenAPI Spec
      security:
        - BearerAuth: []
  /v1/meta/openapi/engine:
    get:
      description: |-
        Retrieve the OpenAPI spec for the Engine APIs

        **Operation ID:** `meta_engineOpenapiSpec`
      operationId: meta_engineOpenapiSpec
      tags:
        - Meta
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOpenApiSpecResponse'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Engine OpenAPI Spec
      security:
        - BearerAuth: []
  /v1/jobs:
    get:
      description: |-
        {% admonition type="warning" name="In Development" %}
        This operation is actively being developed. Breaking changes should be
        expected.

        Please contact us before using this operation.
        {% /admonition %}
        Returns a list of all `Asynchronous Operations` objects.

        **Operation ID:** `operations_list`
      operationId: operations_list
      tags:
        - Operations
      parameters:
        - name: limit
          in: query
          description: >-
            Number of `Asynchronous Operations` objects to return in this page.
            Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Asynchronous Operations` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `id`. To control
            the direction of the sorting, append

            `[asc]` or `[desc]` to the field id. For example, `id[desc]` will
            sort the results by `id` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOperationsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Asynchronous Operations
      security:
        - BearerAuth: []
      x-badges:
        - name: Alpha
          color: in-development
          position: before
  /v1/jobs/history:
    get:
      description: |-
        {% admonition type="warning" name="In Development" %}
        This operation is actively being developed. Breaking changes should be
        expected.

        Please contact us before using this operation.
        {% /admonition %}
        Returns the execution history for all operations.
        History is stored for the configured retention period (default 4 weeks).

        **Operation ID:** `operations_list_execution_history`
      operationId: operations_list_execution_history
      tags:
        - Operations
      parameters:
        - name: filter
          in: query
          description: >-
            Filter operation execution history by this query.

            Available filters:


            - `id[eq]` - Filter by specific operation ID

            - `integration_id[eq]` - Filter by specific integration ID

            - `account_id[eq]` - Filter by specific account ID

            - `execution_id[eq]` - Filter by specific execution ID

            - `started_at[gte]` - Filter executions started at or after a
            specific datetime (RFC3339 format)

            - `started_at[lte]` - Filter executions started at or before a
            specific datetime (RFC3339 format)

            - `started_at[gt]` - Filter executions started after a specific
            datetime

            - `started_at[lt]` - Filter executions started before a specific
            datetime

            - `operation_id[eq]` - Filter by operation name (e.g.,
            "assets_query_devices")



              If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to
            `started_at[desc]`. To control the direction of the sorting, append

            `[asc]` or `[desc]` to the field id. For example, `started_at[asc]`
            will sort the results by `started_at` in ascending order.

            The ordering defaults to `desc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: limit
          in: query
          description: Number of results to return (default 100, max 500)
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return execution history starting after this cursor.
          required: false
          schema:
            type: string
            nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExecutionHistoryResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Operation Execution History
      security:
        - BearerAuth: []
      x-badges:
        - name: Alpha
          color: in-development
          position: before
  /v1/organization/webhooks:
    get:
      description: |-
        List webhooks for the organization

        **Operation ID:** `organizationWebhooks_list`
      operationId: organizationWebhooks_list
      tags:
        - OrganizationWebhooks
      parameters:
        - name: limit
          in: query
          description: Number of `Webhook` objects to return in this page. Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Webhook` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationWebhooksResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Organization Webhooks
      security:
        - BearerAuth: []
    post:
      description: |-
        Create a new webhook for the organization

        **Operation ID:** `organizationWebhooks_create`
      operationId: organizationWebhooks_create
      tags:
        - OrganizationWebhooks
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrganizationWebhookResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Organization Webhook
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrganizationWebhookRequest'
  /v1/organization/webhooks/{webhookId}:
    get:
      description: |-
        Returns the `Webhook` object matching `{webhookId}`.

        **Operation ID:** `organizationWebhooks_get`
      operationId: organizationWebhooks_get
      tags:
        - OrganizationWebhooks
      parameters:
        - name: webhookId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationWebhookResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Organization Webhook
      security:
        - BearerAuth: []
    put:
      description: >-
        Updates the `Webhook` object matching `{webhookId}`. For more
        information on

        Organizations and Webhooks, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `organizationWebhooks_update`
      operationId: organizationWebhooks_update
      tags:
        - OrganizationWebhooks
      parameters:
        - name: webhookId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateOrganizationWebhookResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Organization Webhook
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationWebhook'
    patch:
      description: >-
        Patches the `Webhook` object matching `{webhookId}`. For more
        information on

        Organizations and Webhooks, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `organizationWebhooks_patch`
      operationId: organizationWebhooks_patch
      tags:
        - OrganizationWebhooks
      parameters:
        - name: webhookId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchOrganizationWebhookResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Organization Webhook
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
    delete:
      description: |-
        Delete a webhook for the organization

        **Operation ID:** `organizationWebhooks_delete`
      operationId: organizationWebhooks_delete
      tags:
        - OrganizationWebhooks
      parameters:
        - name: webhookId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Organization Webhook
      security:
        - BearerAuth: []
  /v1/organization:
    get:
      description: |-
        Retrieve Organization

        **Operation ID:** `organization_get`
      operationId: organization_get
      tags:
        - Organization
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Organization
      security:
        - BearerAuth: []
    put:
      description: |-
        Update Organization

        **Operation ID:** `organization_update`
      operationId: organization_update
      tags:
        - Organization
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateOrganizationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Organization
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Organization'
    patch:
      description: |-
        Patch Organization

        **Operation ID:** `organization_patch`
      operationId: organization_patch
      tags:
        - Organization
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchOrganizationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Organization
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
  /v1/permissionsets:
    get:
      description: >-
        Returns a list of all `PermissionSets` objects that match the query
        params.


        **Operation ID:** `permissionset_list`
      operationId: permissionset_list
      tags:
        - Permissionset
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPermissionSetsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List PermissionSets
      security:
        - BearerAuth: []
  /v1/permissionsets/{permissionsetId}:
    get:
      description: >-
        Returns the `PermissionSet` object matching `{permissionsetId}`. For
        more information on PermissionSets, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `permissionset_get`
      operationId: permissionset_get
      tags:
        - Permissionset
      parameters:
        - name: permissionsetId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Permissions'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPermissionSetResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get PermissionSet
      security:
        - BearerAuth: []
  /v1/roles:
    get:
      description: |-
        Returns a list of all `Roles` objects that match the query params.

        **Operation ID:** `roles_list`
      operationId: roles_list
      tags:
        - Roles
      parameters:
        - name: limit
          in: query
          description: Number of `Role` objects to return in this page. Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Role` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRolesResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Roles
      security:
        - BearerAuth: []
    post:
      description: |-
        Creates an `Role` object. For more information on Roles, refer to our
        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).

        **Operation ID:** `roles_create`
      operationId: roles_create
      tags:
        - Roles
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateRoleResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Role
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRoleRequest'
  /v1/roles/{roleId}:
    get:
      description: >-
        Returns the `Role` object matching `{roleId}`. For more information on
        Roles, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `roles_get`
      operationId: roles_get
      tags:
        - Roles
      parameters:
        - name: roleId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRoleResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Role
      security:
        - BearerAuth: []
    put:
      description: >-
        Updates the `Role` object matching `{roleId}`. For more information on
        Roles, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `roles_update`
      operationId: roles_update
      tags:
        - Roles
      parameters:
        - name: roleId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateRoleResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Update Role
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleDefinition'
    patch:
      description: >-
        Patches the `Role` object matching `{roleId}`. For more information on
        Roles, refer to our

        [Synqly Overview](https://docs.synqly.com/docs/synqly-overview).


        **Operation ID:** `roles_patch`
      operationId: roles_patch
      tags:
        - Roles
      parameters:
        - name: roleId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchRoleResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Patch Role
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchOperation'
    delete:
      description: |-
        Deletes the `Role` matching `{roleId}`. Deleting an `Role` also deletea
        all `Tokens` and `Credentials` belonging to the `Role`.

        **Operation ID:** `roles_delete`
      operationId: roles_delete
      tags:
        - Roles
      parameters:
        - name: roleId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Role
      security:
        - BearerAuth: []
  /v1/status:
    get:
      description: |-
        Returns all matching `Status` objects.

        **Operation ID:** `status_list`
      operationId: status_list
      tags:
        - Status
      parameters:
        - name: limit
          in: query
          description: Number of `Status` objects to return in this page. Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: >-
            Return `Status` objects starting after this
            `account_id,integration_id`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to
            `account_id,integration_id`. To control the direction of the
            sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: expand
          in: query
          description: >-
            Expand the status result with the related integration and/or account
            information.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ListStatusOptions'
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListStatusResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Status
      security:
        - BearerAuth: []
  /v1/status/{accountId}/{integrationId}:
    get:
      description: |-
        Returns the integration `Status` object.

        **Operation ID:** `status_get`
      operationId: status_get
      tags:
        - Status
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStatusResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Status
      security:
        - BearerAuth: []
    put:
      description: |-
        Resets the integration `Status` object.

        **Operation ID:** `status_reset`
      operationId: status_reset
      tags:
        - Status
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Reset Status
      security:
        - BearerAuth: []
  /v1/status/{accountId}/{integrationId}/events:
    get:
      description: |-
        Returns integration `Status` object list of `StatusEvent` objects.

        **Operation ID:** `status_list_events`
      operationId: status_list_events
      tags:
        - Status
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: limit
          in: query
          description: >-
            Number of `StatusEvent` objects to return in this page. Defaults to
            100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `StatusEvent` objects starting after this `created_at`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            The order defaults to created_at[asc] and can changed to descending
            order by specifying created_at[desc].
          required: false
          schema:
            type: string
            nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListStatusEventsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Status Events
      security:
        - BearerAuth: []
  /v1/status/timeseries:
    get:
      description: |-
        Returns organization last hour usage timeseries.

        **Operation ID:** `status_get_timeseries`
      operationId: status_get_timeseries
      tags:
        - Status
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStatusTimeseries'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Status Timeseries
      security:
        - BearerAuth: []
  /v1/status/{accountId}/{integrationId}/timeseries:
    get:
      description: |-
        Returns organization last hour usage timeseries.

        **Operation ID:** `status_get_integration_timeseries`
      operationId: status_get_integration_timeseries
      tags:
        - Status
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: interval
          in: query
          description: '[hour] provide most recent 24 hour timeseries. default: hour'
          required: false
          schema:
            type: string
            nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntegrationTimeseries'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Integration Timeseries
      security:
        - BearerAuth: []
  /v1/suborgs:
    get:
      description: |-
        List all organizations

        **Operation ID:** `subOrgs_list`
      operationId: subOrgs_list
      tags:
        - SubOrgs
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Sub-Organizations
      security:
        - BearerAuth: []
    post:
      description: |-
        Add a new organization.

        **Operation ID:** `subOrgs_create`
      operationId: subOrgs_create
      tags:
        - SubOrgs
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrganizationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Sub-Organization
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrganizationRequest'
  /v1/suborgs/{organizationId}:
    get:
      description: |-
        Retrieve an Organization by ID

        **Operation ID:** `subOrgs_get`
      operationId: subOrgs_get
      tags:
        - SubOrgs
      parameters:
        - name: organizationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Sub-Organization
      security:
        - BearerAuth: []
    delete:
      description: |-
        Delete a Organization by ID. Also deletes

        **Operation ID:** `subOrgs_delete`
      operationId: subOrgs_delete
      tags:
        - SubOrgs
      parameters:
        - name: organizationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Sub-Organization
      security:
        - BearerAuth: []
  /v1/tokens:
    post:
      description: >-
        Create an adhoc organization token restricted to specified resources and
        permission set.

        Tokens can only be reduced in scope, never expanded.

        Permissions are inherited from the token used to call this API.

        Permissions assigned to the new token will not be persisted, this is not
        a way to create roles.


        **Operation ID:** `tokens_create_token`
      operationId: tokens_create_token
      tags:
        - Tokens
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Organization Token
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTokenRequest'
    get:
      description: >-
        Returns a list of all `RefreshToken` objects belonging to the
        Authorization Bearer

        token. For more infromation on Tokens, refer to

        [Authentication](/api-reference/authentication).


        **Operation ID:** `tokens_list`
      operationId: tokens_list
      tags:
        - Tokens
      parameters:
        - name: limit
          in: query
          description: Number of `Token` objects to return in this page. Defaults to 100.
          required: false
          schema:
            type: integer
            nullable: true
        - name: start_after
          in: query
          description: Return `Token` objects starting after this `name`.
          required: false
          schema:
            type: string
            nullable: true
        - name: order
          in: query
          description: >-
            Select a field to order the results by. Defaults to `name`. To
            control the direction of the sorting, append

            `[asc]` or `[desc]` to the field name. For example, `name[desc]`
            will sort the results by `name` in descending order.

            The ordering defaults to `asc` if not specified. May be used
            multiple times to order by multiple fields, and the

            ordering is applied in the order the fields are specified.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
        - name: filter
          in: query
          description: >-
            Filter results by this query. For more information on filtering,
            refer to our Filtering Guide. Defaults to no filter.

            If used more than once, the queries are ANDed together.
          required: false
          schema:
            type: array
            items:
              type: string
              nullable: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTokensResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: List Refresh Tokens
      security:
        - BearerAuth: []
  /v1/tokens/mcp:
    post:
      description: >-
        Create a token for MCP authentication. This token is soley for MCP
        authentication and cannot

        authenticate with any other API.


        **Operation ID:** `tokens_create_mcp_token`
      operationId: tokens_create_mcp_token
      tags:
        - Tokens
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateMCPTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create MCP Token
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMCPTokenRequest'
  /v1/tokens/{accountId}/{integrationId}:
    post:
      description: >-
        Create an adhoc integration token restricted to a single integration.
        The token used to call

        this API must have the necessary permissions to create tokens and have
        access to the account

        and integration IDs. Permissions may not be escalated, so any operation
        that the invocation

        token does not have access to cannot be granted.


        **Operation ID:** `tokens_create_integration_token`
      operationId: tokens_create_integration_token
      tags:
        - Tokens
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: integrationId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateIntegrationTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Integration Token
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIntegrationTokenRequest'
  /v1/tokens/synqly-integrations:
    post:
      description: >-
        {% admonition type="warning" name="In Development" %}

        This operation is actively being developed. Breaking changes should be

        expected.


        Please contact us before using this operation.

        {% /admonition %}

        Create a token for managing Synqly-specific integrations. This token can
        be used with the integration APIs to manage

        integrations for Synqly-specific integrations, such as status events
        exports and async operations. See the

        [Synqly
        Integrations](https://docs.synqly.com/guides/synqly-integrations)
        documentation for more information.


        **Operation ID:** `tokens_create_synqly_integrations_token`
      operationId: tokens_create_synqly_integrations_token
      tags:
        - Tokens
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSynqlyIntegrationsTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Create Synqly Integrations Token
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSynqlyIntegrationsTokenRequest'
      x-badges:
        - name: Alpha
          color: in-development
          position: before
  /v1/tokens/{refreshTokenId}:
    delete:
      description: |-
        Deletes the Refresh Token with id `{id}`. This immediately
        invalidates both the primary and secondary token pairs.

        **Operation ID:** `tokens_delete`
      operationId: tokens_delete
      tags:
        - Tokens
      parameters:
        - name: refreshTokenId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Delete Adhoc Refresh Token
      security:
        - BearerAuth: []
  /v1/tokens/{refreshTokenId}/info:
    get:
      description: >-
        Returns the `RefreshToken` object matching `{tokenId}`. For more
        information on

        Tokens, refer to

        [Authentication](/api-reference/authentication).


        **Operation ID:** `tokens_get`
      operationId: tokens_get
      tags:
        - Tokens
      parameters:
        - name: refreshTokenId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Get Refresh Token
      security:
        - BearerAuth: []
  /v1/tokens/{ownerId}/{refreshTokenId}/reset:
    put:
      description: >-
        This API can be used to reset `Organization` or `Integration`
        `RefreshTokens`.

        Resets the specified `RefreshToken` and expiration time, removes the
        secondary, and resets access and refresh tokens for the

        `RefreshToken` object matching `{ownerId}/{refreshTokenId}` where
        `ownerId` is an `organizationId` or `integrationId`.

        An `Organization` token with `administrator` permissions can be used to
        perform this operation.


        **Operation ID:** `tokens_reset`
      operationId: tokens_reset
      tags:
        - Tokens
      parameters:
        - name: ownerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: refreshTokenId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResetTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Reset Refresh Token
      security:
        - BearerAuth: []
  /v1/tokens/{ownerId}/{refreshTokenId}/rotate:
    put:
      description: >-
        This API can be used to rotate an `Organization` or `Integration`
        `RefreshTokens`.

        Rotate deletes the existing `Secondary` TokenPair, moves the `Primary`
        TokenPair to the `Secondary` TokenPair and creates a new `Primary`
        TokenPair for the

        `RefreshToken` object matching `{ownerId}/{refreshTokenId}` where
        `ownerId` is an `organizationId` or `integrationId`.

        An `Organization` token with `administrator` permissions can be used to
        perform this operation.


        **Operation ID:** `tokens_rotate`
      operationId: tokens_rotate
      tags:
        - Tokens
      parameters:
        - name: ownerId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
        - name: refreshTokenId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RotateTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Rotate Refresh Token
      security:
        - BearerAuth: []
  /v1/tokens/{refreshTokenId}/refresh:
    put:
      description: >-
        Creates a new primary `TokenPair` object, setting the secondary
        `TokenPair`

        to the previous primary value. Call `/v1/removeSecondaryToken` to remove

        this secondary backup once the new primary `TokenPair` has been
        deployed.


        **Operation ID:** `tokens_refresh`
      operationId: tokens_refresh
      tags:
        - Tokens
      parameters:
        - name: refreshTokenId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefreshTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Refresh Token Pair
      security:
        - BearerAuth: []
  /v1/tokens/{refreshTokenId}/secondary:
    delete:
      description: |-
        Deletes the secondary `TokenPair` for the `RefreshToken` object
        matching `{refreshTokenId}`.

        **Operation ID:** `tokens_remove_secondary`
      operationId: tokens_remove_secondary
      tags:
        - Tokens
      parameters:
        - name: refreshTokenId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
      responses:
        '204':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '415':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
      summary: Remove Secondary Token
      security:
        - BearerAuth: []
components:
  schemas:
    AccountId:
      title: AccountId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this Account
    Account:
      title: Account
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          description: Human friendly display name for this account.
        organization_id:
          $ref: '#/components/schemas/Id'
          description: Organization that manages this Account.
        environment:
          $ref: '#/components/schemas/Environment'
          description: Environment this account runs in.
        labels:
          type: array
          items:
            type: string
          nullable: true
          description: >-
            User defined labels that apply to this account. These values can be
            used in role bindings to limit the scope of permissions.
      required:
        - id
        - fullname
        - organization_id
        - environment
      allOf:
        - $ref: '#/components/schemas/Base'
    ListAccountsResponse:
      title: ListAccountsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Account'
        total:
          type: integer
          nullable: true
      required:
        - result
    GetAccountResponse:
      title: GetAccountResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Account'
      required:
        - result
    CreateAccountRequest:
      title: CreateAccountRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this Account (lowercase [a-z0-9_-], can be
            used in URLs). Also used for case insensitive duplicate name
            detection and default sort order. Defaults to AccountId if both name
            and fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this Account, will auto-generate
            'name' field (if 'name' is not specified). Defaults to the same
            value as the 'name' field if not specified.
        environment:
          $ref: '#/components/schemas/Environment'
          nullable: true
          description: >-
            Environment this account runs in. Defaults to `prod` if not
            specified.
        labels:
          type: array
          items:
            type: string
          nullable: true
          description: >-
            User defined labels that apply to this account. Labels are limited
            to 48 characters in length and must contain only letters, numbers,
            underscores, hyphens, colons, and periods. The label values can be
            used in role bindings to limit the scope of permissions.
    CreateAccountResponseResult:
      title: CreateAccountResponseResult
      type: object
      properties:
        account:
          $ref: '#/components/schemas/Account'
      required:
        - account
    CreateAccountResponse:
      title: CreateAccountResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CreateAccountResponseResult'
      required:
        - result
    UpdateAccountRequest:
      title: UpdateAccountRequest
      $ref: '#/components/schemas/Account'
    UpdateAccountResponse:
      title: UpdateAccountResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Account'
      required:
        - result
    PatchAccountResponse:
      title: PatchAccountResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Account'
      required:
        - result
    AuditType:
      title: AuditType
      type: string
      enum:
        - ALARM
        - ERROR
        - API
        - UNKNOWN
    HTTPMethod:
      title: HTTPMethod
      type: string
      enum:
        - DELETE
        - GET
        - PATCH
        - POST
        - PUT
    Audit:
      title: Audit
      type: object
      properties:
        environment:
          type: string
        created_at:
          type: string
          format: date-time
          description: Time when the API request occurred.
        remote_addr:
          type: string
        user_agent:
          type: string
        audit_type:
          $ref: '#/components/schemas/AuditType'
        method:
          $ref: '#/components/schemas/HTTPMethod'
        path:
          type: string
        code:
          type: string
        body:
          nullable: true
        response:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        member_id:
          $ref: '#/components/schemas/Id'
          nullable: true
        account_id:
          $ref: '#/components/schemas/Id'
          nullable: true
        integration_id:
          $ref: '#/components/schemas/Id'
          nullable: true
        bridge_group_id:
          $ref: '#/components/schemas/Id'
          nullable: true
      required:
        - environment
        - created_at
        - remote_addr
        - user_agent
        - audit_type
        - method
        - path
        - code
    ListAuditEventsResponse:
      title: ListAuditEventsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Audit'
      required:
        - result
    AuthCode:
      title: AuthCode
      type: string
      enum:
        - success
        - failure
        - disabled
        - expired
        - invited
        - locked
    LogonRequest:
      title: LogonRequest
      type: object
      properties:
        name:
          type: string
          description: Email address identifying the member to initiate a session for.
        secret:
          type: string
          description: Password of the member to initiate a session for.
      required:
        - name
        - secret
    LogonResponseResult:
      title: LogonResponseResult
      type: object
      properties:
        auth_code:
          $ref: '#/components/schemas/AuthCode'
          description: Authentication result
        auth_msg:
          type: string
          nullable: true
          description: Authentication failure message
        refresh_token_id:
          $ref: '#/components/schemas/Id'
        token:
          $ref: '#/components/schemas/TokenPair'
        organization:
          $ref: '#/components/schemas/Organization'
        member:
          $ref: '#/components/schemas/Member'
      required:
        - auth_code
        - refresh_token_id
        - token
        - organization
        - member
    LogonResponse:
      title: LogonResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/LogonResponseResult'
      required:
        - result
    ChangePasswordResponseResult:
      title: ChangePasswordResponseResult
      type: object
      properties:
        auth_code:
          $ref: '#/components/schemas/AuthCode'
          description: Authentication result
        auth_msg:
          type: string
          nullable: true
          description: Authentication failure message
      required:
        - auth_code
    ChangePasswordResponse:
      title: ChangePasswordResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/ChangePasswordResponseResult'
      required:
        - result
    ChangePasswordRequest:
      title: ChangePasswordRequest
      type: object
      properties:
        old_secret:
          type: string
          description: Old member secret
        new_secret:
          type: string
          description: New member secret
      required:
        - old_secret
        - new_secret
    BillingMonth:
      title: BillingMonth
      type: string
      enum:
        - partial
        - january
        - february
        - march
        - april
        - may
        - june
        - july
        - august
        - september
        - october
        - november
        - december
    Billing:
      title: Billing
      type: object
      description: Billing report covering total usage for a specific month.
      properties:
        organization_id:
          $ref: '#/components/schemas/Id'
          description: Organization being billed.
        month:
          $ref: '#/components/schemas/BillingMonth'
          description: >-
            Billing report month. Full reports are available for the previous 12
            months and a partial report for the current month-to-date.
        report_date:
          type: string
          format: date-time
          description: Billing report generation date
        csv_data:
          type: string
          description: >-
            Total usage for all Accounts and Integrations within the
            Organization, exported in comma-separated values (CSV) format.
            Columns include Organization name, Account names, Integration names,
            Environment, successful and failed requests, and total ingress and
            egress amounts in bytes.
      required:
        - organization_id
        - month
        - report_date
        - csv_data
      allOf:
        - $ref: '#/components/schemas/Base'
    ListBillingResponse:
      title: ListBillingResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Billing'
      required:
        - result
    GetBillingResponse:
      title: GetBillingResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Billing'
      required:
        - result
    BridgeGroupId:
      title: BridgeGroupId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this Bridge Group.
    BridgeGroup:
      title: BridgeGroup
      type: object
      description: >-
        A Bridge Group represents a connection between the Synqly Saas or
        Embedded service and a Bridge Agent. See 'Synqly Bridge Agent' guide in
        Synqly docs for additional information.
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          description: Full name of bridge
        description:
          type: string
          nullable: true
          description: >-
            Description of the resources included in the bridge and permissions
            granted on those resources. Includes details of when to use this
            bridge along with the intended personas.
        labels:
          type: array
          items:
            type: string
          nullable: true
          description: >-
            Labels applied to Bridges within the group. These labels can be used
            by integrations to select the groups of bridges capable of handling
            requests to the integration.
      required:
        - id
        - fullname
      allOf:
        - $ref: '#/components/schemas/Base'
    ListBridgesResponse:
      title: ListBridgesResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/BridgeGroup'
      required:
        - result
    GetBridgeResponse:
      title: GetBridgeResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/BridgeGroup'
      required:
        - result
    GetBridgeStatusResponse:
      title: GetBridgeStatusResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/BridgeStatus'
      required:
        - result
    CreateBridgeRequest:
      title: CreateBridgeRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this Bridge (lowercase [a-z0-9_-], can be used
            in URLs). Also used for case insensitive duplicate name detection
            and default sort order. Defaults to BridgeGroupId if both name and
            fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this Bridge, will auto-generate
            'name' field (if 'name' is not specified). Defaults to the same
            value as the 'name' field if not specified.
        description:
          type: string
          nullable: true
          description: >-
            Description of the resources included in the bridge and permissions
            granted on those resources. Includes details of when to use this
            bridge along with the intended personas.
        labels:
          type: array
          items:
            type: string
          nullable: true
          description: Bridge selection labels
    CreateBridgeResponseResult:
      title: CreateBridgeResponseResult
      type: object
      properties:
        bridge:
          $ref: '#/components/schemas/BridgeGroup'
        credential:
          type: string
          description: >-
            JWT for the Bridge Group to connect to Synqly. This must be saved in
            a file {bridgeId}.creds in the same directory as the bridge
            executable.
      required:
        - bridge
        - credential
    CreateBridgeResponse:
      title: CreateBridgeResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CreateBridgeResponseResult'
      required:
        - result
    UpdateBridgeRequest:
      title: UpdateBridgeRequest
      $ref: '#/components/schemas/BridgeGroup'
    UpdateBridgeResponse:
      title: UpdateBridgeResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/BridgeGroup'
      required:
        - result
    PatchBridgeResponse:
      title: PatchBridgeResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/BridgeGroup'
      required:
        - result
    BridgeStatus:
      title: BridgeStatus
      type: object
      properties:
        current_time:
          type: string
          format: date-time
          description: Local time on the Bridge when the status check was performed.
        response_duration:
          type: string
          description: Round trip time for the status check.
        local_config:
          $ref: '#/components/schemas/BridgeLocalConfig'
          description: Local configuration parameters for the Bridge.
        local_stats:
          $ref: '#/components/schemas/BridgeLocalStats'
          description: Local bridge statistics
      required:
        - current_time
        - response_duration
        - local_config
        - local_stats
    BridgeLocalConfig:
      title: BridgeLocalConfig
      type: object
      properties:
        version:
          type: string
          description: Version of the Bridge.
        allow_addresses:
          type: array
          items:
            type: string
          description: List of IP addresses that the Bridge is allowed to connect to.
        vault:
          type: object
          additionalProperties:
            type: string
          nullable: true
          description: Vault configuration for the Bridge.
      required:
        - version
        - allow_addresses
    BridgeLocalStats:
      title: BridgeLocalStats
      type: object
      properties:
        requests:
          type: integer
          format: int64
        failures:
          type: integer
          format: int64
        in_bytes:
          type: integer
          format: int64
        out_bytes:
          type: integer
          format: int64
      required:
        - requests
        - failures
        - in_bytes
        - out_bytes
    ProviderId:
      title: ProviderId
      type: string
    CategoryId:
      title: CategoryId
      type: string
      enum:
        - appsec
        - assets
        - cloudsecurity
        - custom
        - edr
        - identity
        - incidentresponse
        - notifications
        - siem
        - sink
        - storage
        - ticketing
        - vulnerabilities
      description: Id of the Integrations category
    ProviderCapabilitiesBase:
      title: ProviderCapabilitiesBase
      type: object
      description: |-
        Base properties for provider capabilities. This type is used both
        directly (when providers are nested in connectors) and extended by
        ProviderCapabilities (which adds the expandable connector field).
      properties:
        id:
          $ref: '#/components/schemas/ProviderId'
          description: Unique identifier for the Provider.
        name:
          type: string
          description: Name of the Provider.
        fullname:
          type: string
          description: Display name of the Provider.
        vendor:
          type: string
          description: Display name of the Provider vendor.
        description:
          type: string
          description: Description of the Provider.
        connector_id:
          $ref: '#/components/schemas/CategoryId'
          description: Id of the Connector that the Provider implements.
        operations:
          type: array
          items:
            $ref: '#/components/schemas/ProviderOperations'
          nullable: true
          description: Operations that the Provider implements.
        provider_config:
          nullable: true
          description: Details on the specific configuration options for the Provider.
        release:
          $ref: '#/components/schemas/ProviderRelease'
          nullable: true
          description: Provider availability information.
      required:
        - id
        - name
        - fullname
        - vendor
        - description
        - connector_id
    ProviderCapabilities:
      title: ProviderCapabilities
      type: object
      properties:
        connector:
          $ref: '#/components/schemas/ConnectorOrId'
          nullable: true
          description: |-
            Id of the Connector that the Provider implements – or, if
            `expand=connector` is set – the details of the Connector. NOTE:
            The current default behavior is to return the ID of the
            Connector. This field will soon only be populated when
            `expand=connector` is set in the APIs that support it. It is
            recommended you use `connector_id` for a stable reference to the
            Connector ID. This field will soon only be populated when
            `expand=connector` is set in the APIs that support it.
      allOf:
        - $ref: '#/components/schemas/ProviderCapabilitiesBase'
    ProviderRelease:
      title: ProviderRelease
      type: object
      properties:
        availability:
          $ref: '#/components/schemas/Availability'
          description: Availability status.
        environments:
          type: array
          items:
            $ref: '#/components/schemas/ProviderEnvironment'
          description: Environments the Provider is available to.
      required:
        - availability
        - environments
    Availability:
      title: Availability
      type: string
      enum:
        - internal
        - in-development
        - pre-release
        - deprecated
        - generally-available
    ProviderEnvironment:
      title: ProviderEnvironment
      type: string
      enum:
        - prod
        - test
    ConnectorOrId:
      title: ConnectorOrId
      oneOf:
        - $ref: '#/components/schemas/CategoryId'
        - $ref: '#/components/schemas/Connector'
    Connector:
      title: Connector
      type: object
      description: Provides details of the Connector.
      properties:
        id:
          $ref: '#/components/schemas/CategoryId'
          description: Unique identifier for the Connector.
        name:
          $ref: '#/components/schemas/CategoryId'
          description: Name of the connector.
        fullname:
          type: string
          description: Display name of the Connector.
        description:
          type: string
          description: Description of the Connector.
        provider_ids:
          type: array
          items:
            $ref: '#/components/schemas/ProviderId'
          description: List of Providers that implement the Connector.
        providers:
          type: array
          items:
            $ref: '#/components/schemas/ProviderCapabilitiesBase'
          nullable: true
          description: |-
            List of capabilities for Providers that implement the Connector.
            Uses ProviderCapabilitiesBase which omits the expandable connector
            field since nested providers never have expanded connectors.
        connector:
          $ref: '#/components/schemas/CategoryId'
          nullable: true
          description: DEPRECATED – use `id` instead.
        release:
          $ref: '#/components/schemas/ConnectorRelease'
          nullable: true
          description: Connector availability information.
      required:
        - id
        - name
        - fullname
        - description
        - provider_ids
    ConnectorRelease:
      title: ConnectorRelease
      type: object
      properties:
        availability:
          $ref: '#/components/schemas/Availability'
          description: Availability status.
      required:
        - availability
    ProviderOperations:
      title: ProviderOperations
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the operation.
        name:
          type: string
          description: Name of the operation.
        fullname:
          type: string
          nullable: true
          description: Display name of the operation.
        description:
          type: string
          nullable: true
          description: Description of the operation.
        request_method:
          type: string
          nullable: true
          description: HTTP method used for the operation.
        request_path:
          type: string
          nullable: true
          description: URI template path for the operation, including path parameters.
        supported:
          type: boolean
          description: Whether the operation is supported by the provider.
        required_fields:
          type: array
          items:
            type: string
          nullable: true
          description: |-
            List of fields in the request body that are required by the
            provider for this operation. Due to limitations of the OpenAPI
            format these fields may be marked as optional, even though they
            are in fact required by this provider.
        supported_response_fields:
          type: array
          items:
            type: string
          nullable: true
          description: |-
            List of fields that may be returned in the response body. Any
            fields not listed in this array are not supported by this
            provider and will not be returned in the response body.
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ProviderFilter'
          nullable: true
          description: Filters that can be applied to this operation.
        orders:
          type: array
          items:
            $ref: '#/components/schemas/ProviderOrder'
          nullable: true
          description: Orders that can be applied to this operation.
        request_body:
          $ref: '#/components/schemas/RequestBody'
          nullable: true
          description: |-
            This field is only available if the operation supports a request
            body. Describes the request body and its schema.
      required:
        - id
        - name
        - supported
    RequestBody:
      title: RequestBody
      type: object
      description: Describes the request body and its schema.
      properties:
        required:
          type: boolean
          description: If true the request body is required, false otherwise.
        schema:
          type: object
          additionalProperties: true
          nullable: true
          description: |-
            The schema defining the type used for the request body. If
            expanded will be a full JSON schema of the entire request body,
            otherwise this will be a reference object. The reference object
            has a single key `$ref`, which is a URI [RFC3986] identifying the
            location of a component within the Engine OpenAPI specification.
      required:
        - required
    ProviderFilter:
      title: ProviderFilter
      type: object
      properties:
        name:
          type: string
          description: Name of the filter.
        type:
          $ref: '#/components/schemas/FilterType'
          description: Type of the value that this filter can apply to
        operators:
          type: array
          items:
            type: string
          description: List of operators that this filter supports.
        values:
          type: array
          items:
            type: string
          nullable: true
          description: List of possible values for this filter.
      required:
        - name
        - type
        - operators
    ProviderOrder:
      title: ProviderOrder
      type: object
      properties:
        name:
          type: string
          description: Name of the field to order by.
        directions:
          type: array
          items:
            $ref: '#/components/schemas/OrderDirection'
          description: List of possible directions to order by.
      required:
        - name
        - directions
    OrderDirection:
      title: OrderDirection
      type: string
      enum:
        - asc
        - desc
    FilterType:
      title: FilterType
      type: string
      enum:
        - string
        - datetime
        - enum
        - boolean
        - number
    ListConnectorsCapabilitiesResponse:
      title: ListConnectorsCapabilitiesResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Connector'
      required:
        - result
    ListProvidersCapabilitiesResponse:
      title: ListProvidersCapabilitiesResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/ProviderCapabilities'
      required:
        - result
    ProviderCapabilitiesResponse:
      title: ProviderCapabilitiesResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/ProviderCapabilities'
      required:
        - result
    ListConnectorCapabilitiesExpandOptions:
      title: ListConnectorCapabilitiesExpandOptions
      type: string
      enum:
        - providers
    ListProviderCapabilitiesExpandOptions:
      title: ListProviderCapabilitiesExpandOptions
      type: string
      enum:
        - connector
        - operations
        - provider_config
    GetProviderCapabilitiesExpandOptions:
      title: GetProviderCapabilitiesExpandOptions
      type: string
      enum:
        - connector
        - operations
        - request_body
        - provider_config
    Id:
      title: Id
      type: string
    Base:
      title: Base
      type: object
      properties:
        name:
          type: string
          description: Human-readable name for this resource
        created_at:
          type: string
          format: date-time
          description: Time object was originally created
        updated_at:
          type: string
          format: date-time
          description: Last time object was updated
      required:
        - name
        - created_at
        - updated_at
    Problem:
      title: Problem
      type: object
      description: >-
        Generic base type for problems in Synqly. This object carries both
        machine-readable data as well as information intended for display
        purposes.
      properties:
        type:
          $ref: '#/components/schemas/ProblemType'
          nullable: true
        occurred_at:
          type: string
          format: date-time
          description: The date and time the problem occurred.
        status:
          type: integer
          description: >-
            The HTTP status code of the problem. Matches the HTTP response code
            sent by the server.
        instance:
          type: string
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem. It may or may not yield further information if
            dereferenced.
        cause:
          type: array
          items:
            $ref: '#/components/schemas/ProblemCause'
          nullable: true
          description: >-
            A list of the root cause(s) for this problem occurrence. Includes at
            minimum one root cause, and is otherwise an unordered list of
            causes.
      required:
        - occurred_at
        - status
        - instance
      allOf:
        - $ref: '#/components/schemas/ProblemDetails'
    ProblemCause:
      title: ProblemCause
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ProblemType'
      required:
        - type
      allOf:
        - $ref: '#/components/schemas/ProblemDetails'
    ProblemType:
      title: ProblemType
      type: string
      description: >-
        A URI reference that identifies the type of problem that occurred. When
        the URI scheme is HTTP(s), it may or may not be possible to deference
        the URL to a display-friendly description of the problem type.
    ProblemDetails:
      title: ProblemDetails
      type: object
      properties:
        message:
          type: string
          description: A short, display-friendly summary of the problem.
        detail:
          type: string
          nullable: true
          description: >-
            A display-friendly and more detailed explanation of the problem. It
            may offer additional contextual detail, but may also be just a
            generic description of the problem.
        remediation:
          type: string
          nullable: true
          description: >-
            A display-friendly explanation for how to remediate the problem.
            This field may be omitted in case there are multiple problems, each
            with its own remediation, or if no remediation is possible.
        context:
          $ref: '#/components/schemas/ProblemContext'
          nullable: true
          description: >-
            Additional context providing further detail about the problem, such
            as a problematic input parameter and/or a list of related resources.
      required:
        - message
    ProblemContext:
      title: ProblemContext
      type: object
      properties:
        parameter:
          $ref: '#/components/schemas/ProblematicParameter'
          nullable: true
          description: >-
            If the problem is related to a `query`, `header`, `path` or `body`
            parameter, this field will describe the problematic parameter and
            where to find it.
        resources:
          type: array
          items:
            $ref: '#/components/schemas/ResourceReference'
          nullable: true
        raw_error:
          type: string
          nullable: true
          description: >-
            If available this represents the underlying raw error, for example
            an error response from a Provider.
        provider_details:
          type: object
          additionalProperties:
            type: string
          nullable: true
          description: >-
            If available this represents the underlying details from the
            provider. May include the error message, status code, and other
            details.
    ProblematicParameter:
      title: ProblematicParameter
      type: object
      properties:
        id:
          type: string
          description: >-
            If the `location` of the parameter is `body`, this value is always a
            JSON Pointer, otherwise it's the name of the parameter.
        location:
          $ref: '#/components/schemas/ParameterLocation'
          description: >-
            The location of the parameter. Possible values are `query`,
            `header`, `path` or `body`.
        value:
          nullable: true
          description: The given value of the parameter.
      required:
        - id
        - location
    ParameterLocation:
      title: ParameterLocation
      type: string
      enum:
        - header
        - path
        - query
        - body
    ResourceReference:
      title: ResourceReference
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ResourceType'
          description: Type of the related resource.
        id:
          type: string
          description: ID of the related resource.
        rel:
          $ref: '#/components/schemas/ProblemRelation'
          description: The way in which the resource relates to the problem.
      required:
        - type
        - id
        - rel
    ProblemRelation:
      title: ProblemRelation
      type: string
      enum:
        - affected
        - cause
    ResourceType:
      title: ResourceType
      type: string
      enum:
        - account
        - bridge
        - credential
        - integration_point
        - integration
        - member
        - operation
        - organization_webhook
        - role
        - sub_org
        - token
        - transform
    PatchOp:
      title: PatchOp
      type: string
      enum:
        - add
        - copy
        - move
        - remove
        - replace
        - test
    PatchOperation:
      title: PatchOperation
      type: object
      description: >-
        JSON patch to apply. A JSON patch is a list of patch operations. (see
        https://jsonpatch.com/)
      properties:
        op:
          $ref: '#/components/schemas/PatchOp'
          description: >-
            The operation to perform. Supported values are `add`, `copy`,
            `move`, `replace`, `remove`, and `test`.
        path:
          type: string
          description: The path to the field to update. The path is a JSON Pointer.
        from:
          type: string
          nullable: true
          description: >-
            The path to the field to copy from. This is required for `copy` and
            `move` operations.
        value:
          nullable: true
          description: >-
            The value to set the field to. This is required for `add`, `replace`
            and `test` operations.
      required:
        - op
        - path
    ResourceId:
      title: ResourceId
      type: string
      enum:
        - alerts
        - applications
        - audit_logs
        - comments
        - devices
        - events
        - evidence
        - findings
        - groups
        - investigations
        - iocs
        - log_providers
        - posture_scores
        - projects
        - scans
        - scan_activities
        - threats
        - tickets
        - users
        - compliance
        - cloudresourceinventory
    ActionId:
      title: ActionId
      type: string
      enum:
        - query
        - read
        - create
        - update
        - delete
        - patch
    CredentialId:
      title: CredentialId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this Credential
    OwnerType:
      title: OwnerType
      type: string
      enum:
        - account
        - integration
        - integration_point
        - organization_webhook
    ManagedType:
      title: ManagedType
      type: string
      enum:
        - Managed
        - Unmanaged
    Credential:
      title: Credential
      type: object
      description: >-
        Credential to access an integration. Each credential is owned by an
        Account, Integration, IntegrationPoint or OrganizationWebhook.
      properties:
        id:
          $ref: '#/components/schemas/Id'
        account_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Account that manages this credential.
        integration_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Integration associated with this credential.
        integration_point_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Integration Point associated with this credential.
        organization_webhook_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Organization Webhook associated with this credential.
        owner_type:
          $ref: '#/components/schemas/OwnerType'
          description: One of `account` or `integration_point`.
        fullname:
          type: string
          description: Human friendly display name for this Credential
        config:
          $ref: '#/components/schemas/CredentialConfig'
          nullable: true
          description: Credential configuration
        expires:
          type: string
          format: date-time
          nullable: true
          description: Time when this credential expires and can no longer be used again.
        managed:
          $ref: '#/components/schemas/ManagedType'
          description: >-
            Field is set by the management process. Determines lifecycle and
            ownership of the credential.
      required:
        - id
        - owner_type
        - fullname
        - managed
      allOf:
        - $ref: '#/components/schemas/Base'
    CredentialResponse:
      title: CredentialResponse
      type: object
      description: Response object for a Credential
      properties:
        id:
          $ref: '#/components/schemas/Id'
        account_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Account that manages this credential.
        integration_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Integration associated with this credential.
        integration_point_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Integration Point associated with this credential.
        organization_webhook_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Integration Point associated with this credential.
        owner_type:
          $ref: '#/components/schemas/OwnerType'
          description: One of `account` or `integration_point`.
        fullname:
          type: string
          description: >-
            Human friendly display name for this Credential. Defaults to the
            same value as the 'name' field if not specified.
        config:
          $ref: '#/components/schemas/CredentialConfigNoSecret'
        expires:
          type: string
          format: date-time
          nullable: true
          description: Time when this credential expires and can no longer be used again.
        managed:
          $ref: '#/components/schemas/ManagedType'
          description: >-
            Field is set by the management process. Determines lifecycle and
            ownership of the credential.
      required:
        - id
        - owner_type
        - fullname
        - config
        - managed
      allOf:
        - $ref: '#/components/schemas/Base'
    CredentialConfigNoSecret:
      title: CredentialConfigNoSecret
      type: object
      properties:
        type:
          type: string
      required:
        - type
    AwsCredentialId:
      title: AwsCredentialId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for an AWS Credential
    AwsRoleCredentialId:
      title: AwsRoleCredentialId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for an AWS Role Credential
    BasicCredentialId:
      title: BasicCredentialId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for a Basic Credential
    TokenCredentialId:
      title: TokenCredentialId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for a Token Credential
    SecretCredentialId:
      title: SecretCredentialId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for a Secret Credential
    OAuthClientCredentialId:
      title: OAuthClientCredentialId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for an OAuth Client Credential
    CredentialConfig:
      title: CredentialConfig
      oneOf:
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - aws
            - $ref: '#/components/schemas/AwsCredential'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - aws_role
            - $ref: '#/components/schemas/AwsRoleCredential'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - token
            - $ref: '#/components/schemas/TokenCredential'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - basic
            - $ref: '#/components/schemas/BasicCredential'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - secret
            - $ref: '#/components/schemas/SecretCredential'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - o_auth_client
            - $ref: '#/components/schemas/OAuthClientCredential'
          required:
            - type
    CredentialBase:
      title: CredentialBase
      type: object
      description: Base type for all credential types
      properties: {}
    AwsRoleCredential:
      title: AWS Role
      type: object
      description: >-
        AWS Role configuration to authenticate with AWS. Delegated access with
        AWS Roles are used to create short-term credentials to access AWS
        resources in the destination AWS account. You can review [this guide on
        delegating access across AWS accounts using IAM
        roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).
      properties:
        role_arn:
          type: string
          description: ARN of the AWS role to assume in the destination account.
          title: Role ARN
        external_id:
          type: string
          description: >-
            External ID to use when assuming the AWS role in the destination
            account.
          title: External ID
        role_session_name:
          type: string
          nullable: true
          description: Name of the AWS role session.
          title: Role Session Name
        duration:
          type: integer
          nullable: true
          description: >-
            The duration, in seconds, of the role session. The value specified
            can range from 900 seconds (15 minutes) up to the maximum session
            duration set for the role. The maximum session duration setting can
            have a value from 1 hour.
          title: Duration
      required:
        - role_arn
        - external_id
      allOf:
        - $ref: '#/components/schemas/CredentialBase'
    AwsCredential:
      title: AWS Access Keys
      type: object
      description: >-
        Access key to authenticate with AWS. Access keys are long-term
        credentials for an IAM user and consist of an Access Key ID and a Secret
        Access Key. Follow [this guide to generate
        credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html).

        You may optionally provide a session token if you are using temporary
        credentials.
      properties:
        access_key_id:
          type: string
          description: Access Key ID portion of the AWS access key pair.
          title: Access Key ID
        secret_access_key:
          type: string
          description: Secret portion of the AWS access key pair.
          title: Secret Access Key
          format: password
        session:
          type: string
          nullable: true
          description: >-
            A temporary session token. Session tokens are optional and are only
            necessary if you are using temporary credentials.
          title: Session
          format: password
      required:
        - access_key_id
        - secret_access_key
      allOf:
        - $ref: '#/components/schemas/CredentialBase'
    TokenCredential:
      title: Token
      type: object
      description: Token used to authenticate with an external service.
      properties:
        secret:
          type: string
          description: Secret value of the token.
          title: Secret
          format: password
      required:
        - secret
      allOf:
        - $ref: '#/components/schemas/CredentialBase'
    BasicCredential:
      title: Basic Credentials
      type: object
      description: Username and secret used to authenticate with an external service.
      properties:
        username:
          type: string
          description: Username value for authentication
          title: Username
        secret:
          type: string
          description: Secret value for authentication
          title: Secret
          format: password
      required:
        - username
        - secret
      allOf:
        - $ref: '#/components/schemas/CredentialBase'
    SecretCredential:
      title: Secret
      type: object
      description: Secret value such as password or webhook url
      properties:
        secret:
          type: string
          description: Secret value
          title: Secret
          format: password
      required:
        - secret
      allOf:
        - $ref: '#/components/schemas/CredentialBase'
    OAuthClientCredential:
      title: Client Credentials
      type: object
      description: >-
        A Client ID and secret used for authenticating with OAuth 2.0 compatible
        service using the client credentials grant.
      properties:
        token_url:
          type: string
          nullable: true
          description: >-
            Optional URL for the OAuth 2.0 token exchange if it can not be
            constructed based on provider configuration
          title: Token URL
        client_id:
          type: string
          description: The ID of the client application defined at the service provider
          title: Client ID
        client_secret:
          type: string
          description: Secret value for authentication
          title: Client Secret
          format: password
        extra:
          type: object
          additionalProperties: true
          nullable: true
          description: >-
            Optional connection specific JSON map data such as a signing key ID
            or organization ID
          title: Extra
      required:
        - client_id
        - client_secret
      allOf:
        - $ref: '#/components/schemas/CredentialBase'
    ListCredentialsResponse:
      title: ListCredentialsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/CredentialResponse'
      required:
        - result
    GetCredentialResponse:
      title: GetCredentialResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CredentialResponse'
      required:
        - result
    LookupCredentialResponse:
      title: LookupCredentialResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CredentialResponse'
      required:
        - result
    CreateCredentialRequest:
      title: CreateCredentialRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this Credential (lowercase [a-z0-9_-], can be
            used in URLs). Also used for case insensitive duplicate name
            detection and default sort order. Defaults to CredentialId if both
            name and fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this Credential, will auto-generate
            'name' field (if 'name' is not specified). Defaults to the same
            value as the 'name' field if not specified.
        config:
          $ref: '#/components/schemas/CredentialConfig'
          nullable: true
          description: Credential configuration
        owner_type:
          $ref: '#/components/schemas/OwnerType'
          nullable: true
          description: >-
            One of `account` or `integration_point`; defaults to `account` if
            not specified.
        expires:
          type: string
          format: date-time
          nullable: true
          description: Time when this credential expires and can no longer be used again.
    CreateCredentialResponse:
      title: CreateCredentialResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CredentialResponse'
      required:
        - result
    UpdateCredentialRequest:
      title: UpdateCredentialRequest
      $ref: '#/components/schemas/Credential'
    UpdateCredentialResponse:
      title: UpdateCredentialResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CredentialResponse'
      required:
        - result
    PatchCredentialResponse:
      title: PatchCredentialResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CredentialResponse'
      required:
        - result
    CustomId:
      title: CustomId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this organization custom provider.
    Custom:
      title: Custom
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          description: Human friendly display name for this custom provider.
        organization_id:
          $ref: '#/components/schemas/Id'
          description: Organization that manages this custom provider.
        data:
          type: string
          description: >-
            The YAML custom provider definition. Must follow the custom provider
            definition schema.
      required:
        - id
        - fullname
        - organization_id
        - data
      allOf:
        - $ref: '#/components/schemas/Base'
    ListCustomsResponse:
      title: ListCustomsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Custom'
        total:
          type: integer
          nullable: true
      required:
        - result
    GetCustomResponse:
      title: GetCustomResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Custom'
      required:
        - result
    CreateCustomRequest:
      title: CreateCustomRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this custom provider (lowercase [a-z0-9_-],
            can be used in URLs). Also used for case insensitive duplicate name
            detection and default sort order. Defaults to CustomId if both name
            and fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this custom provider, will
            auto-generate 'name' field (if 'name' is not specified). Defaults to
            the same value as the 'name' field if not specified.
        data:
          type: string
          description: transform to apply.
      required:
        - data
    CreateCustomResponseResult:
      title: CreateCustomResponseResult
      type: object
      properties:
        custom:
          $ref: '#/components/schemas/Custom'
      required:
        - custom
    CreateCustomResponse:
      title: CreateCustomResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CreateCustomResponseResult'
      required:
        - result
    UpdateCustomRequest:
      title: UpdateCustomRequest
      $ref: '#/components/schemas/Custom'
    UpdateCustomResponse:
      title: UpdateCustomResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Custom'
      required:
        - result
    PatchCustomResponse:
      title: PatchCustomResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Custom'
      required:
        - result
    IntegrationId:
      title: IntegrationId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this Integration
    IntegrationPointId:
      title: IntegrationPointId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this IntegrationPoint
    IntegrationEnvironments:
      title: IntegrationEnvironments
      type: object
      properties:
        test:
          type: array
          items:
            $ref: '#/components/schemas/ProviderConfigId'
          nullable: true
          description: List of allowed providers for test environment.
        prod:
          type: array
          items:
            $ref: '#/components/schemas/ProviderConfigId'
          nullable: true
          description: List of allowed providers for production environment.
    AdditionalMappingType:
      title: AdditionalMappingType
      type: string
      enum:
        - recommended
        - optional
        - fixed
    AdditionalMappingTemplate:
      title: AdditionalMappingTemplate
      type: object
      properties:
        providers:
          type: array
          items:
            $ref: '#/components/schemas/ProviderConfigId'
          description: >-
            A list of provider ID strings that this mapping applies to. Mapping
            templates must have at least one provider.
        mapping_type:
          $ref: '#/components/schemas/AdditionalMappingType'
          nullable: true
          description: >-
            This controls the end-user's responsibility for this mapping when
            creating an integration in this integration point. Default:
            'optional'.

            When set to 'fixed' the mapping is always included and can not be
            overridden by the end-user.

            When 'optional', the end-user can choose to override the mapping.

            When 'recommended', the provider will enter a warning state if the
            mapping is missing.
      required:
        - providers
      allOf:
        - $ref: '#/components/schemas/AdditionalMapping'
    MappingChainTemplate:
      title: MappingChainTemplate
      type: object
      properties:
        providers:
          type: array
          items:
            $ref: '#/components/schemas/ProviderConfigId'
          description: >-
            A list of provider ID strings that this mapping applies to. Mapping
            templates must have at least one provider.
      required:
        - providers
      allOf:
        - $ref: '#/components/schemas/MappingChain'
    IntegrationPoint:
      title: IntegrationPoint
      type: object
      description: Enables creation, editing and deletion of Integrations.
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          nullable: true
          description: >-
            Name of integration point, will be shown to end-users in the Connect
            UI.
        description:
          type: string
          nullable: true
          description: >-
            Optional description of the Integration Point. Will not be displayed
            to end-users of Connect UI.
        connector:
          $ref: '#/components/schemas/CategoryId'
          description: Connector to use for the Integration Point.
        environments:
          $ref: '#/components/schemas/IntegrationEnvironments'
          description: Selects providers to use for account environments.
        mappings:
          type: array
          items:
            $ref: '#/components/schemas/MappingChainTemplate'
          nullable: true
          description: >-
            A list of mapping chains to apply to integrations using this
            integration point. Each mapping chain is a list of mappings to apply
            to the integration in the order they should be applied. Mappings are
            applied by operation ID. If an integration is created that declares
            its own mappings for an operation, they will override this list of
            mappings. Leave this empty to use the default default mappings.
        additional_mappings:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalMappingTemplate'
          nullable: true
          description: >-
            Additional data mappings for integrations added to this integration
            point. This allows for custom data to be mapped to the custom_fields
            portion of the response.
        scheduled_operations:
          type: array
          items:
            $ref: '#/components/schemas/OperationSchedule'
          nullable: true
          description: >-
            A list of operations that are scheduled to run for this integration
            point.

            Whenever an integration is created, these operations will
            automatically

            be scheduled to run based on the schedule defined for the operation.
      required:
        - id
        - connector
        - environments
      allOf:
        - $ref: '#/components/schemas/Base'
    ListIntegrationPointsResponse:
      title: ListIntegrationPointsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationPoint'
        total:
          type: integer
          nullable: true
      required:
        - result
    GetIntegrationPointResponse:
      title: GetIntegrationPointResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/IntegrationPoint'
      required:
        - result
    CreateIntegrationPointRequest:
      title: CreateIntegrationPointRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this Integration Point (lowercase [a-z0-9_-],
            can be used in URLs). Also used for case insensitive duplicate name
            detection and default sort order. Defaults to IntegrationPointId if
            both name and fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Name of integration point, will be shown to end-users in the Connect
            UI. Defaults to the same value as the 'name' field if not specified.
        description:
          type: string
          nullable: true
          description: >-
            Optional description of the Integration Point. Will not be displayed
            to end-users of Connect UI.
        connector:
          $ref: '#/components/schemas/CategoryId'
          description: Connector to use for the Integration Point.
        environments:
          $ref: '#/components/schemas/IntegrationEnvironments'
          description: Selects providers to use for account environments.
        mappings:
          type: array
          items:
            $ref: '#/components/schemas/MappingChainTemplate'
          nullable: true
          description: >-
            A list of mapping chains to apply to integrations using this
            integration point. Each mapping chain is a list of mappings to apply
            to the integration in the order they should be applied. Mappings are
            applied by operation ID. If an integration is created that declares
            its own mappings for an operation, they will override this list of
            mappings. Leave this empty to use the default default mappings.
        additional_mappings:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalMappingTemplate'
          nullable: true
          description: >-
            Additional data mappings for integrations added to this integration
            point. This allows for custom data to be mapped to the custom_fields
            portion of the response.
        scheduled_operations:
          type: array
          items:
            $ref: '#/components/schemas/OperationSchedule'
          nullable: true
          description: >-
            A list of operations that are scheduled to run for this integration
            point.

            Whenever an integration is created, these operations will
            automatically

            be scheduled to run based on the schedule defined for the operation.
      required:
        - connector
        - environments
    CreateIntegrationPointResponse:
      title: CreateIntegrationPointResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/IntegrationPoint'
      required:
        - result
    UpdateIntegrationPointRequest:
      title: UpdateIntegrationPointRequest
      $ref: '#/components/schemas/IntegrationPoint'
    UpdateIntegrationPointResponse:
      title: UpdateIntegrationPointResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/IntegrationPoint'
      required:
        - result
    PatchIntegrationPointResponse:
      title: PatchIntegrationPointResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/IntegrationPoint'
      required:
        - result
    ListIntegrationOptions:
      title: ListIntegrationOptions
      type: string
      enum:
        - account
        - accounts
        - integration_point
        - integration_points
        - all
    WebhookConfig:
      title: WebhookConfig
      type: object
      properties:
        provider_key:
          type: string
          nullable: true
          description: >-
            The key used by Synqly to verify incoming webhook payloads sent by
            the Provider. The format and requirements for this key is Provider
            specific:


            - **ServiceNow**: Webhook payload signing is not currently
            supported, so the integrity of incoming ServiceNow payloads cannot
            be verified.

            - **Jira**: Synqly does _not_ automatically configure Jira webhooks.
            A user with administrator privileges must configure the webhook,
            including the signing key. If this key is not specified, Synqly will
            _not_ validate incoming webhooks from Jira. It is strongly
            recommended that a key is specified and configured with Jira to
            ensure the integrity of incoming payloads.
        items:
          type: array
          items:
            $ref: '#/components/schemas/WebhookItem'
          description: >-
            List of webhooks for an integration. If the provider supports
            webhooks, they will be sent to the servers provided in this list.
      required:
        - items
    WebhookItem:
      title: WebhookItem
      type: object
      properties:
        webhook_url:
          type: string
          description: Webhook URL. Events from providers will be sent to this URL.
        event_filter:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEvent'
          nullable: true
          description: >-
            If specified, only events matching this list will be sent to
            `webhook_url`. If no filters are specified, all events sent from
            providers will be forwarded to `webhook_url`.
        integrator_key:
          type: string
          nullable: true
          description: >-
            The key used to sign outgoing web hook payloads. If not specified a
            random key is automatically generated.

            Use this key at the target URL to validate that the incoming payload
            was signed by Synqly. The payload is signed symmetrically with the
            `integrator_key` using the `HMAC-SHA256` signature scheme. The key
            should be randomly generated and between 24 bytes (192 bits) and 64
            bytes (512 bits) long.
      required:
        - webhook_url
    Integration:
      title: Integration
      type: object
      description: Connects an Account to an external service
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          description: Human friendly display name for this integration.
        refresh_token_id:
          $ref: '#/components/schemas/Id'
          description: Integration refresh token id
        account_id:
          $ref: '#/components/schemas/Id'
          description: >-
            Account associated with this integration. Use the expand=accounts
            parameter with the List and ListAccount APIs to expand the Account
            to the full object
        account:
          $ref: '#/components/schemas/Account'
          nullable: true
          description: >-
            When using the expand option on the List or ListAccount APIs, the
            full account object is included in the response
        category:
          $ref: '#/components/schemas/CategoryId'
          description: Id of the Connector Category for this Integration.
        provider_config:
          $ref: '#/components/schemas/ProviderConfig'
          description: Provider configuration for this Integration.
        provider_fullname:
          type: string
          description: Human friendly display name for the provider.
        provider_type:
          type: string
          description: Type of the provider for this Integration.
        integration_point_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: >-
            Integration Point associated with this integration. Use the
            expand=integration_points parameter with the List and ListAccount
            APIs to expand the Integration Point to the full object
        integration_point:
          $ref: '#/components/schemas/IntegrationPoint'
          nullable: true
          description: >-
            When using the expand option on the List or ListAccount APIs, the
            full integration_point object is included in the response
        bridge_selector:
          $ref: '#/components/schemas/BridgeSelector'
          nullable: true
          description: Use a Bridge to connect to the provider.
        webhook_config:
          $ref: '#/components/schemas/WebhookConfig'
          nullable: true
          description: >-
            Webhook configuration for this integration. Some providers support
            webhooks, and will allow end users providers to send events to a
            server for new or updated data.
        mappings:
          type: array
          items:
            $ref: '#/components/schemas/MappingChain'
          nullable: true
          description: >-
            A list of mapping chains to apply to the integration. Each mapping
            chain is a list of mappings to apply to the integration in the order
            they should be applied. Mappings are applied by operation ID. Leave
            this empty to use the default default mappings.
        additional_mappings:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalMapping'
          nullable: true
          description: >-
            Additional data mappings for this integration. This allows for
            custom data to be mapped to the custom_fields portion of the
            response.
      required:
        - id
        - fullname
        - refresh_token_id
        - account_id
        - category
        - provider_config
        - provider_fullname
        - provider_type
      allOf:
        - $ref: '#/components/schemas/Base'
    BridgeSelector:
      title: BridgeSelector
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - id
            value:
              type: string
          required:
            - type
        - type: object
          properties:
            type:
              type: string
              enum:
                - labels
            value:
              type: array
              items:
                type: string
          required:
            - type
    ListIntegrationsResponse:
      title: ListIntegrationsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Integration'
        total:
          type: integer
          nullable: true
      required:
        - result
    ListAccountIntegrationsResponse:
      title: ListAccountIntegrationsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Integration'
        total:
          type: integer
          nullable: true
      required:
        - result
    GetIntegrationResponse:
      title: GetIntegrationResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Integration'
      required:
        - result
    CreateIntegrationRequest:
      title: CreateIntegrationRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this Integrations (lowercase [a-z0-9_-], can
            be used in URLs). Also used for case insensitive duplicate name
            detection and default sort order. Defaults to IntegrationId if both
            name and fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this Integrations, will
            auto-generate 'name' field (if 'name' is not specified). Defaults to
            the same value as the 'name' field if not specified.
        provider_config:
          $ref: '#/components/schemas/ProviderConfig'
          description: Provider configuration for this Integration.
        integration_point_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Integration Point associated with this integration.
        bridge_selector:
          $ref: '#/components/schemas/BridgeSelector'
          nullable: true
          description: Use a Bridge to connect to the provider.
        webhook_config:
          $ref: '#/components/schemas/WebhookConfig'
          nullable: true
          description: Web hook config for this integration
        mappings:
          type: array
          items:
            $ref: '#/components/schemas/MappingChain'
          nullable: true
          description: >-
            A list of mapping chains to apply to the integration. Each mapping
            chain is a list of mappings to apply to the integration in the order
            they should be applied. Mappings are applied by operation ID. Leave
            this empty to use the default default mappings.
        additional_mappings:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalMapping'
          nullable: true
          description: >-
            Additional data mappings for this integration. This allows for
            custom data to be mapped to the custom_fields portion of the
            response.
      required:
        - provider_config
    CreateIntegrationResponseResult:
      title: CreateIntegrationResponseResult
      type: object
      properties:
        credentials_created:
          type: array
          items:
            $ref: '#/components/schemas/CredentialResponse'
          nullable: true
        integration:
          $ref: '#/components/schemas/Integration'
        token:
          $ref: '#/components/schemas/TokenPair'
      required:
        - integration
        - token
    CreateIntegrationResponse:
      title: CreateIntegrationResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CreateIntegrationResponseResult'
      required:
        - result
    UpdateIntegrationRequest:
      title: UpdateIntegrationRequest
      $ref: '#/components/schemas/Integration'
    UpdateIntegrationResponse:
      title: UpdateIntegrationResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Integration'
      required:
        - result
    PatchIntegrationResponse:
      title: PatchIntegrationResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Integration'
      required:
        - result
    VerifyIntegrationRequest:
      title: VerifyIntegrationRequest
      type: object
      properties:
        integration:
          $ref: '#/components/schemas/CreateIntegrationRequest'
      required:
        - integration
    MappingDataType:
      title: MappingDataType
      type: string
      enum:
        - string
        - number
        - datetime
        - boolean
        - array
        - any
    AdditionalMapping:
      title: AdditionalMapping
      type: object
      properties:
        resource:
          $ref: '#/components/schemas/ResourceId'
          description: The resources that this mapping applies to.
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionId'
          description: >-
            The actions that this mapping applies to. At least one action must
            be specified.
        source:
          type: string
          description: >-
            The dot-separated path to the field in the source data coming from
            the provider. Use `\.` to escape literal dots in the field name.
        destination:
          type: string
          description: >-
            The dot-separated path to where the data should reside in the custom
            fields object when data is returned from the provider.
        literal:
          type: boolean
          nullable: true
          description: >-
            When true, the value in 'source' is treated as a literal value
            rather than a mapping. This allows adding static values to custom
            fields. Default: false
        data_type:
          $ref: '#/components/schemas/MappingDataType'
          description: >-
            The data type of the field. This ensures the data is processed to
            the correct type when mapping. Fields set to 'any' will not get
            validated

            or processed. Other types are cast depending as defined by each
            provider. For example, a field with 'datetime' is parsed based on
            the date

            format used by the provider, and normalized to a unix timestamp with
            millisecond precision.
      required:
        - resource
        - actions
        - source
        - destination
        - data_type
    MappingChain:
      title: MappingChain
      type: object
      properties:
        mappings:
          type: array
          items:
            type: string
          description: >-
            A list of mapping IDs to apply in the format
            `{mapping_id}:{version}`.
        operation_ids:
          type: array
          items:
            type: string
          description: The operation IDs to apply the mappings to.
      required:
        - mappings
        - operation_ids
    MappingId:
      title: MappingId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this organization mapping
    MappingBase:
      title: MappingBase
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          description: Human friendly display name for this mapping.
        organization_id:
          $ref: '#/components/schemas/Id'
          description: Organization that manages this Mapping.
      required:
        - id
        - fullname
        - organization_id
      allOf:
        - $ref: '#/components/schemas/Base'
    Mapping:
      title: Mapping
      type: object
      properties:
        data:
          type: string
          description: transform to apply.
      required:
        - data
      allOf:
        - $ref: '#/components/schemas/MappingBase'
    ListMappingsResponse:
      title: ListMappingsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/MappingBase'
        total:
          type: integer
          nullable: true
      required:
        - result
    GetMappingResponse:
      title: GetMappingResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Mapping'
      required:
        - result
    CreateMappingRequest:
      title: CreateMappingRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this Mapping (lowercase [a-z0-9_-], can be
            used in URLs). Also used for case insensitive duplicate name
            detection and default sort order. Defaults to MappingId if both name
            and fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this Mapping, will auto-generate
            'name' field (if 'name' is not specified). Defaults to the same
            value as the 'name' field if not specified.
        data:
          type: string
          description: transform to apply.
      required:
        - data
    CreateMappingResponseResult:
      title: CreateMappingResponseResult
      type: object
      properties:
        mapping:
          $ref: '#/components/schemas/Mapping'
      required:
        - mapping
    CreateMappingResponse:
      title: CreateMappingResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CreateMappingResponseResult'
      required:
        - result
    UpdateMappingRequest:
      title: UpdateMappingRequest
      $ref: '#/components/schemas/Mapping'
    UpdateMappingResponse:
      title: UpdateMappingResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Mapping'
      required:
        - result
    PatchMappingResponse:
      title: PatchMappingResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Mapping'
      required:
        - result
    ApplyMappingRequestBody:
      title: ApplyMappingRequestBody
      type: object
      properties:
        mappings:
          type: array
          items:
            type: string
          description: >-
            List of mappings to utilize. This can include custom mappings you
            have defined as well as Synqly built-in mappings.
        data:
          type: object
          additionalProperties: true
          description: JSON input data to apply the mapping chain to.
      required:
        - mappings
        - data
    ApplyMappingResponseResult:
      title: ApplyMappingResponseResult
      type: object
      properties:
        mapping:
          type: object
          additionalProperties: true
          description: >-
            The JSON object resulting from applying the mapping chain defined by
            the request over the input data.
      required:
        - mapping
    ApplyMappingResponse:
      title: ApplyMappingResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/ApplyMappingResponseResult'
      required:
        - result
    MemberId:
      title: MemberId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this Member
    State:
      title: State
      type: string
      enum:
        - disabled
        - enabled
        - forgotten
        - invited
        - locked
    Options:
      title: Options
      type: string
      enum:
        - disabled
        - expired
        - forgotten
        - invited
        - locked
    Member:
      title: Member
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        state:
          $ref: '#/components/schemas/State'
        last_logon:
          type: string
          format: date-time
          description: Last logon time
        fullname:
          type: string
          description: User's full display name.
        nickname:
          type: string
          nullable: true
          description: User's nickname
        picture:
          type: string
          nullable: true
          description: Url of user's picture
        ttl:
          type: string
        token_ttl:
          type: string
        expires:
          type: string
          format: date-time
        pin_expires:
          type: string
          format: date-time
        role_binding:
          type: array
          items:
            $ref: '#/components/schemas/RoleName'
          description: Roles granted to this member. Tokens inherit this access.
      required:
        - id
        - state
        - last_logon
        - fullname
        - ttl
        - token_ttl
        - expires
        - pin_expires
        - role_binding
      allOf:
        - $ref: '#/components/schemas/Base'
    MemberOptions:
      title: MemberOptions
      type: object
      properties:
        ttl:
          type: string
          nullable: true
          description: >-
            Optional member time-to-live duration. After a member expires,
            system requires a change password to re-enable member. Minimum 1
            day, Maximum 1 year, Default 180 days.
        options:
          type: array
          items:
            $ref: '#/components/schemas/Options'
          nullable: true
          description: 'Options: "expired" will force change password on first logon.'
        token_ttl:
          type: string
          nullable: true
          description: >-
            Optional token time-to-live duration. Tokens are created for this
            member with this duration as their TTL. Minimum 10 miniutes, Maximum
            1 week, Defaults 1 hour.
    CreateMemberRequest:
      title: CreateMemberRequest
      type: object
      properties:
        name:
          type: string
          description: >-
            Email name to use for this Member. Also used for duplicate detection
            and default sort order.
        fullname:
          type: string
          nullable: true
          description: >-
            User's full display name. Defaults to the same value as the 'name'
            field if not specified.
        nickname:
          type: string
          nullable: true
          description: User's nickname
        picture:
          type: string
          nullable: true
          description: Url of user's picture
        secret:
          type: string
          description: >-
            Member secret used to logon. Must be at least 8 characters long and
            fewer than 72 characters. There are no restrictions on the
            characters used; however, the secret must be sufficiently complex.
            It cannot be a common word, previously leaked password, or easily
            guessed sequences like `qwerty` or `12345`.
        role_binding:
          type: array
          items:
            $ref: '#/components/schemas/RoleName'
          nullable: true
          description: >-
            Roles granted to this member. Tokens inherit this access. Defaults
            to `member`.
        options:
          $ref: '#/components/schemas/MemberOptions'
          nullable: true
      required:
        - name
        - secret
    CreateMemberResponseResult:
      title: CreateMemberResponseResult
      type: object
      properties:
        member:
          $ref: '#/components/schemas/Member'
      required:
        - member
    CreateMemberResponse:
      title: CreateMemberResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CreateMemberResponseResult'
      required:
        - result
    ListMembersResponse:
      title: ListMembersResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Member'
      required:
        - result
    GetMemberResponse:
      title: GetMemberResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Member'
      required:
        - result
    UpdateMemberRequest:
      title: UpdateMemberRequest
      $ref: '#/components/schemas/Member'
    UpdateMemberResponse:
      title: UpdateMemberResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Member'
      required:
        - result
    PatchMemberResponse:
      title: PatchMemberResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Member'
      required:
        - result
    GetOpenApiSpecResponse:
      title: GetOpenApiSpecResponse
    AsyncOperationRequestId:
      title: AsyncOperationRequestId
      $ref: '#/components/schemas/Id'
      description: Unique request identifier for this Asynchronous Operation.
    OperationInput:
      title: OperationInput
      type: object
      properties:
        filters:
          type: array
          items:
            type: string
          nullable: true
          description: >-
            Limit the number of results returned by the operation. If not
            specified, the operation will return all results.
        limit:
          type: integer
          nullable: true
          description: Limit query results by these filters.
    Operation:
      title: Operation
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
          description: ID of the operation
        created_at:
          type: string
          format: date-time
          description: Time object was originally created
        updated_at:
          type: string
          format: date-time
          description: Last time object was updated
        account_id:
          $ref: '#/components/schemas/Id'
          description: Account ID containing the integration.
        integration_id:
          $ref: '#/components/schemas/Id'
          description: Integration ID to use for the operation.
        operation:
          type: string
          description: Name of the operation that will be run for this operation.
        input:
          $ref: '#/components/schemas/OperationInput'
          description: Parameters for the operation that will be run for this operation.
        status:
          $ref: '#/components/schemas/OperationStatus'
          description: Status of the operation
        errors:
          type: array
          items:
            $ref: '#/components/schemas/OperationError'
          nullable: true
          description: Errors that occurred during the operation
        cpu_time:
          type: integer
          format: int64
          description: Cpu time in microseconds
        in_bytes:
          type: integer
          format: int64
          description: Number of bytes sent to sink integration
      required:
        - id
        - created_at
        - updated_at
        - account_id
        - integration_id
        - operation
        - input
        - status
        - cpu_time
        - in_bytes
    OperationStatus:
      title: OperationStatus
      type: string
      enum:
        - SCHEDULED
        - PROCESSING
        - CANCELLED
        - COMPLETE
        - DISABLED
    OperationError:
      title: OperationError
      type: object
      properties:
        message:
          type: string
          description: Error message
      required:
        - message
    OperationExecutionEvent:
      title: OperationExecutionEvent
      type: object
      description: >-
        A single execution of an operation, capturing start time, completion
        time,

        and metrics for that specific run.
      properties:
        execution_id:
          $ref: '#/components/schemas/Id'
          description: Unique identifier for this execution
        operation_id:
          $ref: '#/components/schemas/Id'
          description: ID of the operation that was executed
        started_at:
          type: string
          format: date-time
          description: When this execution started
        completed_at:
          type: string
          format: date-time
          description: When this execution completed
        account_id:
          $ref: '#/components/schemas/Id'
          description: Account ID containing the integration
        integration_id:
          $ref: '#/components/schemas/Id'
          description: Integration ID used for the operation
        integration_point_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: >-
            Integration-point ID if triggered by a schedule, omitted if manually
            triggered

            via the API
        operation:
          type: string
          description: Name of the operation (e.g., "assets_query_devices")
        trigger_type:
          $ref: '#/components/schemas/OperationTriggerType'
          description: How this execution was triggered
        trigger_source:
          type: string
          description: >-
            Source of trigger - "manual" for API calls, integration-point ID for
            scheduled
        status:
          $ref: '#/components/schemas/OperationStatus'
          description: Final status of the execution
        records_processed:
          type: integer
          format: int64
          description: Approximate number of records processed
        cpu_time:
          type: integer
          format: int64
          description: CPU time in microseconds
        in_bytes:
          type: integer
          format: int64
          description: Number of bytes sent to sink integration
        duration:
          type: integer
          format: int64
          description: Total execution duration in microseconds
        initial_cursor:
          type: string
          nullable: true
          description: Cursor value at execution start
        final_cursor:
          type: string
          nullable: true
          description: Cursor value at execution completion
        error:
          type: string
          nullable: true
          description: Error message if execution failed
      required:
        - execution_id
        - operation_id
        - started_at
        - completed_at
        - account_id
        - integration_id
        - operation
        - trigger_type
        - trigger_source
        - status
        - records_processed
        - cpu_time
        - in_bytes
        - duration
    OperationTriggerType:
      title: OperationTriggerType
      type: string
      enum:
        - API
        - SCHEDULED
      description: How an operation execution was initiated
    ListExecutionHistoryResponse:
      title: ListExecutionHistoryResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/OperationExecutionEvent'
          description: List of execution events
      required:
        - result
    OperationId:
      title: OperationId
      type: string
      enum:
        - appsec_get_application_finding_details
        - appsec_query_application_findings
        - appsec_query_applications
        - appsec_query_findings
        - assets_create_asset
        - assets_get_labels
        - assets_query_devices
        - cloudsecurity_query_cloud_resource_inventory
        - cloudsecurity_query_compliance_findings
        - cloudsecurity_query_events
        - cloudsecurity_query_ioms
        - cloudsecurity_query_threats
        - custom_delete
        - custom_get
        - custom_patch
        - custom_post
        - custom_post_batch
        - custom_query
        - edr_create_iocs
        - edr_delete_iocs
        - edr_get_endpoint
        - edr_network_quarantine
        - edr_query_alerts
        - edr_query_applications
        - edr_query_edr_events
        - edr_query_endpoints
        - edr_query_iocs
        - edr_query_posture_score
        - edr_query_threatevents
        - identity_disable_user
        - identity_enable_user
        - identity_expire_all_user_sessions
        - identity_force_user_password_reset
        - identity_get_group
        - identity_get_group_members
        - identity_get_user
        - identity_get_user_picture
        - identity_query_audit_log
        - identity_query_groups
        - identity_query_users
        - incidentresponse_query_escalation_policies
        - incidentresponse_query_escalation_policy_users_on_call
        - notifications_clear_message
        - notifications_create_message
        - notifications_get_message
        - siem_get_alert
        - siem_get_evidence
        - siem_get_investigation
        - siem_patch_investigation
        - siem_post_events
        - siem_query_alerts
        - siem_query_events
        - siem_query_investigations
        - siem_query_log_providers
        - sink_post_events
        - storage_delete_file
        - storage_download_file
        - storage_list_files
        - storage_upload_file
        - ticketing_create_attachment
        - ticketing_create_comment
        - ticketing_create_note
        - ticketing_create_ticket
        - ticketing_delete_attachment
        - ticketing_delete_comment
        - ticketing_delete_note
        - ticketing_download_attachment
        - ticketing_get_ticket
        - ticketing_list_attachments_metadata
        - ticketing_list_comments
        - ticketing_list_notes
        - ticketing_list_on_call
        - ticketing_list_projects
        - ticketing_list_remote_fields
        - ticketing_patch_note
        - ticketing_patch_ticket
        - ticketing_query_escalation_policies
        - ticketing_query_tickets
        - vulnerabilities_create_asset
        - vulnerabilities_create_findings
        - vulnerabilities_get_labels
        - vulnerabilities_get_scan_activity
        - vulnerabilities_get_scan_status
        - vulnerabilities_query_assets
        - vulnerabilities_query_findings
        - vulnerabilities_query_scans
        - vulnerabilities_update_asset
        - vulnerabilities_update_finding
        - vulnerabilities_upload_scan
    ScheduledOperationId:
      title: ScheduledOperationId
      type: string
      enum:
        - assets_query_devices
        - edr_query_alerts
        - edr_query_applications
        - edr_query_endpoints
        - edr_query_iocs
        - edr_query_posture_score
        - edr_query_threatevents
        - identity_query_audit_log
        - identity_query_groups
        - identity_query_groups_enriched
        - identity_query_users
        - identity_query_users_enriched
        - siem_query_events
        - siem_query_investigations
        - vulnerabilities_query_assets
        - vulnerabilities_query_findings
        - vulnerabilities_query_scans
        - appsec_query_applications
        - appsec_query_application_findings
        - appsec_query_findings
    OperationSchedule:
      title: OperationSchedule
      type: object
      properties:
        operation:
          $ref: '#/components/schemas/ScheduledOperationId'
          description: >-
            ID of the operation to schedule (e.g., query_alerts,
            query_endpoints).
        enabled:
          type: boolean
          description: >-
            Whether the schedule is active. When false, no executions will
            occur.
        frequency:
          $ref: '#/components/schemas/OperationFrequency'
          description: |-
            How often the operation should execute (e.g., every 4 hours).
            If an execution takes longer than the interval, the next execution
            will start immediately after the previous one completes.
        filters:
          type: array
          items:
            type: string
          nullable: true
          description: |-
            Optional filters to apply when querying data from the source API.
            Format and available filters depend on the specific operation.
            Example: "severity[eq]critical" or "status[eq]active".
        backfill_from_time:
          type: string
          nullable: true
          description: >-
            Starting point for the initial data collection. No data before this
            time will be fetched.

            Accepts:


            - RFC 3339 datetime: "2024-01-01T00:00:00Z"

            - Relative duration: "7d" (7 days ago), "24h" (24 hours ago), "30m"
            (30 minutes ago)

            - "max": Collect all available historical data



              If not specified, starts from the operation's creation time.
        incremental_config:
          $ref: '#/components/schemas/OperationIncrementalPullConfig'
          nullable: true
          description: >-
            Configuration for how data is fetched on each execution.

            By default, operations fetch only data that changed since the last
            run (incremental)

            and the time filter used depends on the operation.

            Use this to override the default behavior or switch to full
            snapshots.
      required:
        - operation
        - enabled
        - frequency
    OperationFrequency:
      title: OperationFrequency
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - periodic
            value:
              $ref: '#/components/schemas/OperationFrequencyPeriodic'
          required:
            - type
    OperationFrequencyPeriodic:
      title: OperationFrequencyPeriodic
      type: string
      description: >-
        Frequency of operation executions is defined by a periodic interval.
        Value is a string in the format "4h" (every 4 hours).

        You may use "m" for minutes, "h" for hours, and "d" for days.
    OperationIncrementalPullConfig:
      title: OperationIncrementalPullConfig
      type: object
      description: Controls how data is fetched from the source API on each execution.
      properties:
        mode:
          $ref: '#/components/schemas/OperationIncrementalPullMode'
          description: >-
            Fetch strategy: incremental (only changed data) or full_snapshot
            (all data every time).
        time_filter_field:
          type: string
          nullable: true
          description: >-
            Custom field to use for time-based filtering in incremental mode.

            Overrides the operation's default time filter field.

            Examples: "modified_time" or "finding.last_seen_time".

            The filter will use this field with "[gt]" (greater than) operator.

            First run will use `initial_backfill_start_time` as the filter
            value, and

            subsequent runs use the last execution time.
      required:
        - mode
    OperationIncrementalPullMode:
      title: OperationIncrementalPullMode
      type: string
      enum:
        - incremental
        - full_snapshot
      description: Strategy for fetching data from the source API.
    ListOperationsResponse:
      title: ListOperationsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
      required:
        - result
    OrganizationId:
      title: OrganizationId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this Organization
    Environment:
      title: Environment
      type: string
      enum:
        - test
        - prod
    OrganizationType:
      title: OrganizationType
      type: string
      enum:
        - root
        - standard
    OrganizationOptions:
      title: OrganizationOptions
      type: object
      properties:
        invite_duration:
          type: string
          nullable: true
          description: >-
            Duration new member invitations will be valid. Default: 168h (7
            days), minimum 24h, maximum 168h (7 days).
        forgot_duration:
          type: string
          nullable: true
          description: >-
            Duration forgotten password invitations will be valid. Default: 24h,
            minimum 24h, maximum 168h (7 days).
        password_duration:
          type: string
          nullable: true
          description: >-
            Duration before member password expires, part of required password
            rotation. Default: 4320h (180 days), minimum: 24h, maximum: 8760h
            (365 days).
        minimum_password_length:
          type: integer
          nullable: true
          description: 'Minimum password length. Default: 8, minimum 8, maximum 72.'
    Organization:
      title: Organization
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        refresh_token_id:
          $ref: '#/components/schemas/Id'
          description: Organization refresh token id
        organization_type:
          $ref: '#/components/schemas/OrganizationType'
          description: 'Organization type: root or standard'
        fullname:
          type: string
          description: Human friendly display name for this Organization
        contact:
          type: string
          nullable: true
          description: Organization email address
        reply_to:
          type: string
          nullable: true
          description: >-
            Reply-to email address, used for SMTP emails. Defaults to
            no-reply@synqly.com
        picture:
          type: string
          nullable: true
          description: Picture URL of the organization
        options:
          $ref: '#/components/schemas/OrganizationOptions'
          nullable: true
          description: Organization options
      required:
        - id
        - refresh_token_id
        - organization_type
        - fullname
      allOf:
        - $ref: '#/components/schemas/Base'
    CreateOrganizationRequest:
      title: CreateOrganizationRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this Organization (lowercase [a-z0-9_-], can
            be used in URLs). Used for case insensitive duplicate name detection
            and default sort order. Defaults to OrganizationId if both name and
            fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this Organization, will
            auto-generate 'name' field (if 'name' is not specified). Defaults to
            the same value as the 'name' field if not specified.
        contact:
          type: string
          nullable: true
          description: Organization email address
        reply_to:
          type: string
          nullable: true
          description: >-
            Reply-to email address, used for SMTP emails. Defaults to
            no-reply@synqly.com
        picture:
          type: string
          nullable: true
          description: URL of the organization
        member:
          $ref: '#/components/schemas/CreateMemberRequest'
          nullable: true
          description: Create organization member
    CreateOrganizationResponseResult:
      title: CreateOrganizationResponseResult
      type: object
      properties:
        member:
          $ref: '#/components/schemas/Member'
          nullable: true
        organization:
          $ref: '#/components/schemas/Organization'
        token:
          $ref: '#/components/schemas/TokenPair'
      required:
        - organization
        - token
    CreateOrganizationResponse:
      title: CreateOrganizationResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CreateOrganizationResponseResult'
      required:
        - result
    GetOrganizationResponse:
      title: GetOrganizationResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Organization'
      required:
        - result
    ListOrganizationResponse:
      title: ListOrganizationResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Organization'
      required:
        - result
    WebhookId:
      title: WebhookId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for a Webhook
    WebhookFilter:
      title: WebhookFilter
      type: string
      enum:
        - all
        - account_create
        - account_delete
        - account_update
        - integration_create
        - integration_delete
        - integration_update
        - operation_complete
    WebhookEvent:
      title: WebhookEvent
      type: string
      enum:
        - TicketCreated
        - TicketUpdated
        - TicketDeleted
        - TicketCommentCreated
        - TicketCommentDeleted
    OrganizationWebhook:
      title: OrganizationWebhook
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          description: Human friendly slug for this webhook
        environment:
          $ref: '#/components/schemas/Environment'
          description: >-
            Environment that the webhook is configured for. Only events
            associated with this environment will trigger the webhook.
        filters:
          type: array
          items:
            $ref: '#/components/schemas/WebhookFilter'
          description: Specifies which Webhooks to send.
        url:
          type: string
          description: URL that webhooks will be sent to
        credential_id:
          $ref: '#/components/schemas/Id'
          description: Credential contain secret
      required:
        - id
        - fullname
        - environment
        - filters
        - url
        - credential_id
      allOf:
        - $ref: '#/components/schemas/Base'
    OrganizationWebhookSecret:
      title: OrganizationWebhookSecret
      type: object
      properties:
        value:
          type: string
          description: >-
            Secret used for signing webhooks. This value is used to verify the
            authenticity of the webhook payload.
        expires:
          type: string
          format: date-time
          nullable: true
          description: Time when this secret expires and can no longer be used again.
      required:
        - value
    CreateOrganizationWebhookRequest:
      title: CreateOrganizationWebhookRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: Human friendly slug for this webhook
        fullname:
          type: string
          nullable: true
          description: Fullname for this webhook
        environment:
          $ref: '#/components/schemas/Environment'
          nullable: true
          description: >-
            Environment that the webhook is configured for. Only events for
            accounts associated with this environment will trigger the webhook.
        filters:
          type: array
          items:
            $ref: '#/components/schemas/WebhookFilter'
          description: Specifies which Webhooks to send.
        url:
          type: string
          description: URL that webhooks will be sent to.
        secret:
          $ref: '#/components/schemas/OrganizationWebhookSecret'
          description: >-
            Secret used for signing webhooks. This value is used to verify the
            authenticity of the webhook payload.
      required:
        - filters
        - url
        - secret
    CreateOrganizationWebhookResponse:
      title: CreateOrganizationWebhookResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/OrganizationWebhook'
          description: The created webhook.
      required:
        - result
    GetOrganizationWebhookResponse:
      title: GetOrganizationWebhookResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/OrganizationWebhook'
      required:
        - result
    ListOrganizationWebhooksResponse:
      title: ListOrganizationWebhooksResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationWebhook'
          description: List of webhooks for the organization.
      required:
        - result
    PatchOrganizationWebhookResponse:
      title: PatchOrganizationWebhookResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/OrganizationWebhook'
      required:
        - result
    UpdateOrganizationWebhookRequest:
      title: UpdateOrganizationWebhookRequest
      $ref: '#/components/schemas/OrganizationWebhook'
    UpdateOrganizationWebhookResponse:
      title: UpdateOrganizationWebhookResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/OrganizationWebhook'
      required:
        - result
    UpdateOrganizationRequest:
      title: UpdateOrganizationRequest
      $ref: '#/components/schemas/Organization'
    UpdateOrganizationResponse:
      title: UpdateOrganizationResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Organization'
      required:
        - result
    PatchOrganizationResponse:
      title: PatchOrganizationResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Organization'
      required:
        - result
    Permission:
      title: Permission
      type: object
      properties:
        role_binding:
          type: array
          items:
            $ref: '#/components/schemas/RoleName'
          nullable: true
          description: Roles granted to this token.
        adhoc_role:
          $ref: '#/components/schemas/AdhocRole'
          nullable: true
          description: Adhoc role granted to this token.
        resource_id:
          $ref: '#/components/schemas/Id'
          description: ID of the resource that this permission grants access to.
        resource_type:
          type: string
          description: >-
            Type of the resource that this permission grants access to. Must be
            one of the following: "organization, "integration"
        parent_id:
          $ref: '#/components/schemas/Id'
          description: Token parentId
        id:
          $ref: '#/components/schemas/Id'
          description: Token Id
        organization_id:
          $ref: '#/components/schemas/Id'
          description: Token organizationId
        root_organization_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Token root organizationId
        member_id:
          $ref: '#/components/schemas/Id'
          description: Token memberId
      required:
        - resource_id
        - resource_type
        - parent_id
        - id
        - organization_id
        - member_id
    Permissions:
      title: Permissions
      type: string
      enum:
        - administrator
        - viewer
        - member
        - account-manager
        - connect-ui
        - token-issuer
        - mcp-integrations-use-only
        - mcp-management
    PermissionSet:
      title: PermissionSet
      type: object
      properties:
        name:
          $ref: '#/components/schemas/Permissions'
        description:
          type: string
          nullable: true
          description: >-
            Description of when the permission set should be used and what
            permissions are granted by the permission set.
        resource_restrictions:
          type: array
          items:
            $ref: '#/components/schemas/ResourceRestrictions'
          nullable: true
          description: Resources that can be used with this permission set
        permissions:
          $ref: '#/components/schemas/ApiPermissionMap'
          description: API permissions granted by the permission set.
      required:
        - name
        - permissions
    ApiPermissionMap:
      title: ApiPermissionMap
      type: object
      properties:
        all:
          $ref: '#/components/schemas/ReadWritePermissions'
          nullable: true
        accounts:
          $ref: '#/components/schemas/AccountsPermissions'
          nullable: true
        alarms:
          $ref: '#/components/schemas/AlarmsPermissions'
          nullable: true
        alarm_policies:
          $ref: '#/components/schemas/AlarmPoliciesPermissions'
          nullable: true
        audit:
          $ref: '#/components/schemas/AuditPermissions'
          nullable: true
        auth:
          $ref: '#/components/schemas/AuthPermissions'
          nullable: true
        billing:
          $ref: '#/components/schemas/BillingPermissions'
          nullable: true
        bridges:
          $ref: '#/components/schemas/BridgesPermissions'
          nullable: true
        credentials:
          $ref: '#/components/schemas/CredentialsPermissions'
          nullable: true
        customs:
          $ref: '#/components/schemas/CustomsPermissions'
          nullable: true
        integrations:
          $ref: '#/components/schemas/IntegrationsPermissions'
          nullable: true
        integration_points:
          $ref: '#/components/schemas/IntegrationPointsPermissions'
          nullable: true
        operations:
          $ref: '#/components/schemas/OperationsPermissions'
          nullable: true
        mappings:
          $ref: '#/components/schemas/MappingsPermissions'
          nullable: true
        members:
          $ref: '#/components/schemas/MembersPermissions'
          nullable: true
        organizations:
          $ref: '#/components/schemas/OrganizationPermissions'
          nullable: true
        permission_set:
          $ref: '#/components/schemas/PermissionSetPermissions'
          nullable: true
        roles:
          $ref: '#/components/schemas/RolesPermissions'
          nullable: true
        status:
          $ref: '#/components/schemas/StatusPermissions'
          nullable: true
        suborgs:
          $ref: '#/components/schemas/SubOrgsPermissions'
          nullable: true
        tokens:
          $ref: '#/components/schemas/TokensPermissions'
          nullable: true
        transforms:
          $ref: '#/components/schemas/TransformsPermissions'
          nullable: true
        webhooks:
          $ref: '#/components/schemas/WebhooksPermissions'
          nullable: true
    ReadWritePermissions:
      title: ReadWritePermissions
      type: object
      description: Permissions for all accounts
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ReadWriteActions'
      required:
        - actions
    AccountsPermissions:
      title: AccountsPermissions
      type: object
      description: Permissions for the accounts API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/AccountsActions'
      required:
        - actions
    AlarmsPermissions:
      title: AlarmsPermissions
      type: object
      description: Permissions for the alarms API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/AlarmsActions'
      required:
        - actions
    AlarmPoliciesPermissions:
      title: AlarmPoliciesPermissions
      type: object
      description: Permissions for the alarm policy API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/AlarmPoliciesActions'
      required:
        - actions
    AuditPermissions:
      title: AuditPermissions
      type: object
      description: Permissions for the audit API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/AuditActions'
      required:
        - actions
    AuthPermissions:
      title: AuthPermissions
      type: object
      description: Permissions for the auth logon/logoff API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/AuthActions'
      required:
        - actions
    BillingPermissions:
      title: BillingPermissions
      type: object
      description: Permissions for the billing API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/BillingActions'
      required:
        - actions
    BridgesPermissions:
      title: BridgesPermissions
      type: object
      description: Permissions for the bridge API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/BridgesActions'
      required:
        - actions
    CredentialsPermissions:
      title: CredentialsPermissions
      type: object
      description: Permissions for the credentials API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/CredentialsActions'
      required:
        - actions
    CustomsPermissions:
      title: CustomsPermissions
      type: object
      description: Permissions for the customs API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/CustomsActions'
      required:
        - actions
    IntegrationsPermissions:
      title: IntegrationsPermissions
      type: object
      description: Permissions for the integrations API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationsActions'
      required:
        - actions
    IntegrationPointsPermissions:
      title: IntegrationPointsPermissions
      type: object
      description: Permissions for the integrations points API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationPointsActions'
      required:
        - actions
    OperationsPermissions:
      title: OperationsPermissions
      type: object
      description: Permissions for the operations API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/OperationsActions'
      required:
        - actions
    MappingsPermissions:
      title: MappingsPermissions
      type: object
      description: Permissions for the mappings API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/MappingsActions'
      required:
        - actions
    MembersPermissions:
      title: MembersPermissions
      type: object
      description: Permissions for the members API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/MembersActions'
      required:
        - actions
    OrganizationPermissions:
      title: OrganizationPermissions
      type: object
      description: Permissions for the organization API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationActions'
      required:
        - actions
    PermissionSetPermissions:
      title: PermissionSetPermissions
      type: object
      description: Permissions for the permissionset API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionSetActions'
      required:
        - actions
    RolesPermissions:
      title: RolesPermissions
      type: object
      description: Permissions for the roles API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/RolesActions'
      required:
        - actions
    SubOrgsPermissions:
      title: SubOrgsPermissions
      type: object
      description: Permissions for the roles API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/SubOrgsActions'
      required:
        - actions
    StatusPermissions:
      title: StatusPermissions
      type: object
      description: Permissions for the status API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/StatusActions'
      required:
        - actions
    TokensPermissions:
      title: TokensPermissions
      type: object
      description: Permissions for the tokens API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/TokensActions'
      required:
        - actions
    TransformsPermissions:
      title: TransformsPermissions
      type: object
      description: Permissions for the transforms API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/TransformsActions'
      required:
        - actions
    WebhooksPermissions:
      title: WebhooksPermissions
      type: object
      description: Permissions for the webhooks API
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/WebhooksActions'
      required:
        - actions
    ResourceRestrictions:
      title: ResourceRestrictions
      type: string
      enum:
        - accounts
        - integrations
    ReadWriteActions:
      title: ReadWriteActions
      type: string
      enum:
        - read
        - '*'
    AccountsActions:
      title: AccountsActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - '*'
    AlarmsActions:
      title: AlarmsActions
      type: string
      enum:
        - list
        - get
        - mode
        - priority
        - clear
        - '*'
    AlarmPoliciesActions:
      title: AlarmPoliciesActions
      type: string
      enum:
        - get
        - update
        - patch
        - '*'
    AuditActions:
      title: AuditActions
      type: string
      enum:
        - list
        - '*'
    AuthActions:
      title: AuthActions
      type: string
      enum:
        - logon
        - change_password
        - logoff
        - '*'
    BillingActions:
      title: BillingActions
      type: string
      enum:
        - list
        - get
        - '*'
    BridgesActions:
      title: BridgesActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - status
        - '*'
    CredentialsActions:
      title: CredentialsActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - lookup
        - '*'
    CustomsActions:
      title: CustomsActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - '*'
    IntegrationsActions:
      title: IntegrationsActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - list_account
        - verify
        - '*'
    IntegrationPointsActions:
      title: IntegrationPointsActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - '*'
    OperationsActions:
      title: OperationsActions
      type: string
      enum:
        - list
        - list_history
        - '*'
    MappingsActions:
      title: MappingsActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - apply
        - '*'
    MembersActions:
      title: MembersActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - '*'
    OrganizationActions:
      title: OrganizationActions
      type: string
      enum:
        - get
        - update
        - patch
        - '*'
    PermissionSetActions:
      title: PermissionSetActions
      type: string
      enum:
        - list
        - get
        - '*'
    RolesActions:
      title: RolesActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - '*'
    SubOrgsActions:
      title: SubOrgsActions
      type: string
      enum:
        - list
        - create
        - get
        - delete
        - '*'
    StatusActions:
      title: StatusActions
      type: string
      enum:
        - list
        - get
        - reset
        - list_events
        - timeseries
        - integration_timeseries
        - '*'
    TokensActions:
      title: TokensActions
      type: string
      enum:
        - list
        - create
        - create_integration
        - create_synqly_integrations
        - delete
        - get
        - reset
        - rotate
        - refresh
        - remove_secondary
        - '*'
    TransformsActions:
      title: TransformsActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - '*'
    WebhooksActions:
      title: WebhooksActions
      type: string
      enum:
        - list
        - create
        - get
        - update
        - patch
        - delete
        - '*'
    ListPermissionSetsResponse:
      title: ListPermissionSetsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/PermissionSet'
      required:
        - result
    GetPermissionSetResponse:
      title: GetPermissionSetResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/PermissionSet'
      required:
        - result
    AppSec_Snyk:
      title: appsec | Snyk
      type: object
      description: >-
        Configuration for Snyk as an application security provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/snyk-appsec-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/SnykCredential'
              description: Credentials used for accessing the Snyk API.
            - title: Credential
              description: Credentials used for accessing the Snyk API.
        organization_id:
          allOf:
            - type: string
              description: >-
                The ID of the Snyk organization to use. This value can be found
                in the Snyk Organizations Settings page.
            - title: Organization ID
              description: >-
                The ID of the Snyk organization to use. This value can be found
                in the Snyk Organizations Settings page.
        region:
          allOf:
            - $ref: '#/components/schemas/SnykRegion'
              description: >-
                The data region that the Snyk organization is hosted in. This
                value can be found in the Snyk URL and on the Snyk login page.
                For more information, see the [Snyk
                documentation](https://docs.snyk.io/snyk-data-and-governance/regional-hosting-and-data-residency#regional-urls).
            - title: Data Region
              description: >-
                The data region that the Snyk organization is hosted in. This
                value can be found in the Snyk URL and on the Snyk login page.
                For more information, see the [Snyk
                documentation](https://docs.snyk.io/snyk-data-and-governance/regional-hosting-and-data-residency#regional-urls).
      required:
        - credential
        - organization_id
        - region
    Appsec_amazon_Inspector:
      title: appsec | Amazon Inspector
      type: object
      description: >-
        Configuration for Amazon Inspector as an application security provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/amazon-inspector-appsec-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/AwsProviderCredential'
              description: >-
                AWS credentials with access to [Amazon
                Inspector](https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html).
            - title: Credential
              description: >-
                AWS credentials with access to [Amazon
                Inspector](https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html).
        region:
          allOf:
            - $ref: '#/components/schemas/AwsRegion'
              description: >-
                The [AWS
                region](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html)
                to use for the Amazon Inspector provider.
            - title: Region
              description: >-
                The [AWS
                region](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html)
                to use for the Amazon Inspector provider.
      required:
        - credential
        - region
    AppsecOpentextCoreApplicationSecurityDataset:
      title: AppsecOpentextCoreApplicationSecurityDataset
      type: string
      enum:
        - basic_v0
    ArmisCredential:
      title: Armis Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties:
                secret:
                  title: API Key
                  description: Secret value of the API Key.
              description: Configuration when creating new API Key.
          required:
            - type
          title: New API Key
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: ArmisCredential
        - description: Reference to existing API Key.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Key
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: ArmisCredential
    Assets_ArmisCentrix:
      title: assets | Armis Centrix™
      type: object
      description: >-
        Configuration for Armis Centrix™ for Asset Management and Security.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/armis-centrix-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/ArmisCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Armis Centrix™ API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.armis.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Armis Centrix™ API.
      required:
        - credential
        - url
    Assets_ArmisCentrix_Mock:
      title: assets | [MOCK] Armis Centrix
      type: object
      description: Configuration for a mocked Armis Centrix Assets Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsArmisDataset'
            - title: Dataset
      required:
        - dataset
    Assets_Axonius:
      title: assets | Axonius
      type: object
      description: >-
        Configuration for the Axonius Assets Provider


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/axonius-asset-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/AxoniusCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Axonius API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.on.axonius.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Axonius API.
      required:
        - credential
        - url
    Assets_Axonius_Mock:
      title: assets | [MOCK] Axonius
      type: object
      description: Configuration for a mocked Axonius as an Assets Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsAxoniusDataset'
            - title: Dataset
      required:
        - dataset
    Assets_ClarotyXdome:
      title: assets | Claroty xDome
      type: object
      description: >-
        Configuration for the Claroty xDome Assets Provider


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/claroty-asset-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/ClarotyCredential'
            - title: Credential
        url:
          allOf:
            - $ref: '#/components/schemas/ClarotyAPIURL'
              description: Base URL for the Claroty xDome API.
            - pattern: ^https?:.+$
              format: uri
              example: https://api.claroty.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: URL
              description: Base URL for the Claroty xDome API.
      required:
        - credential
        - url
    Assets_CrowdStrike:
      title: assets | CrowdStrike Falcon Spotlight
      type: object
      description: Configuration for CrowdStrike Falcon as an Assets Provider
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/CrowdStrikeCredential'
              description: The credential to use for the CrowdStrike Falcon tenant.
            - title: Credential
              description: The credential to use for the CrowdStrike Falcon tenant.
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the CrowdStrike Falcon Spotlight API.
            - pattern: ^https?:.+$
              format: uri
              default: https://api.crowdstrike.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the CrowdStrike Falcon Spotlight API.
      required:
        - credential
    Assets_CrowdStrike_Mock:
      title: assets | [MOCK] CrowdStrike Falcon Spotlight
      type: object
      description: Configuration for a mocked CrowdStrike Falcon as an Assets Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsCrowdStrikeDataset'
            - title: Dataset
      required:
        - dataset
    Assets_IvantiNeurons:
      title: assets | Ivanti Neurons
      type: object
      description: >-
        Configuration for Ivanti Neurons as an Assets Provider


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/ivanti-asset-setup)
      properties:
        account_identifier:
          allOf:
            - type: string
            - format: uuid
              example: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
            - title: Account ID
        credential:
          allOf:
            - $ref: '#/components/schemas/IvantiCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Ivanti Neurons API.
            - pattern: ^https?:.+$
              format: uri
              example: https://nvuprd-sfc.ivanticloud.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Ivanti Neurons API.
      required:
        - account_identifier
        - credential
        - url
    Assets_IvantiNeurons_Mock:
      title: assets | [MOCK] Ivanti Neurons
      type: object
      description: Configuration for a mocked Ivanti Neurons as an Assets Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsIvantiNeuronsDataset'
            - title: Dataset
      required:
        - dataset
    Assets_NozomiVantage:
      title: assets | Nozomi Vantage
      type: object
      description: >-
        Configuration for Nozomi Vantage.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/nozomi-vantage-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/NozomiVantageCredential'
              description: Credentials used to authenticate with Nozomi Vantage.
            - title: Credential
              description: Credentials used to authenticate with Nozomi Vantage.
        url:
          allOf:
            - type: string
              description: Base URL for the Nozomi Vantage API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.us1.vantage.nozominetworks.io
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Nozomi Vantage API.
      required:
        - credential
        - url
    Assets_NozomiVantage_Mock:
      title: assets | [MOCK] Nozomi Vantage
      type: object
      description: Configuration for a mocked Nozomi Vantage provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsNozomiVantageDataset'
            - title: Dataset
      required:
        - dataset
    Assets_QualysCloud:
      title: assets | Qualys VMDR
      type: object
      description: Configuration for Qualys Cloud Platform as an Assets Provider
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/QualysCloudCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: >-
                URL for the Qualys Cloud API. This should be the base URL for
                the API, without any path components.
            - pattern: ^https?:.+$
              format: uri
              example: https://qualys.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: >-
                URL for the Qualys Cloud API. This should be the base URL for
                the API, without any path components.
      required:
        - credential
        - url
    Assets_QualysCloud_Mock:
      title: assets | [MOCK] Qualys VMDR
      type: object
      description: Configuration for a mock Qualys Cloud Platform as an Assets Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsQualysCloudDataset'
            - title: Dataset
      required:
        - dataset
    Assets_ServiceNow:
      title: assets | ServiceNow CMDB
      type: object
      description: >-
        Configuration for ServiceNow Configuration Management Database (CMDB).


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/servicenow-assets-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/ServiceNowCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the ServiceNow API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.service-now.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the ServiceNow API.
      required:
        - credential
        - url
    Assets_ServiceNow_Mock:
      title: assets | [MOCK] ServiceNow CMDB
      type: object
      description: Configuration for a mocked ServiceNow as an Assets Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsServiceNowDataset'
            - title: Dataset
      required:
        - dataset
    Assets_Sevco:
      title: assets | Sevco
      type: object
      description: Configuration for the Sevco Assets Provider
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/SevcoCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: >-
                URL for the Sevco API. This should be the base URL for the API,
                without any path components.
            - pattern: ^https?:.+$
              example: https://api.sev.co
            - title: API URL
              description: >-
                URL for the Sevco API. This should be the base URL for the API,
                without any path components.
      required:
        - credential
        - url
    Assets_Sevco_Mock:
      title: assets | [MOCK] Sevco
      type: object
      description: Configuration for a mocked Sevco Assets Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsSevcoDataset'
            - title: Dataset
      required:
        - dataset
    Assets_TaniumCloud:
      title: assets | Tanium Assets
      type: object
      description: >-
        Configuration for Tanium Cloud as an Assets Provider


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/tanium-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/TaniumCloudCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Tanium Cloud API
            - pattern: ^https?:.+$
              format: uri
              example: https://{customername}-api.cloud.tanium.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Tanium Cloud API
      required:
        - credential
        - url
    Assets_TaniumCloud_Mock:
      title: assets | [MOCK] Tanium Assets
      type: object
      description: Configuration for a mocked Tanium Cloud as an Assets Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/AssetsTaniumCloudDataset'
            - title: Dataset
      required:
        - dataset
    AssetsArmisDataset:
      title: AssetsArmisDataset
      type: string
      enum:
        - basic_v0
    AssetsAxoniusDataset:
      title: AssetsAxoniusDataset
      type: string
      enum:
        - basic_v0
    AssetsCrowdStrikeDataset:
      title: AssetsCrowdStrikeDataset
      type: string
      enum:
        - basic_v0
    AssetsIvantiNeuronsDataset:
      title: AssetsIvantiNeuronsDataset
      type: string
      enum:
        - basic_v0
    AssetsNozomiVantageDataset:
      title: AssetsNozomiVantageDataset
      type: string
      enum:
        - basic_v0
    AssetsQualysCloudDataset:
      title: AssetsQualysCloudDataset
      type: string
      enum:
        - basic_v0
    AssetsServiceNowDataset:
      title: AssetsServiceNowDataset
      type: string
      enum:
        - basic_v0
    AssetsSevcoDataset:
      title: AssetsSevcoDataset
      type: string
      enum:
        - basic_v0
    AssetsTaniumCloudDataset:
      title: AssetsTaniumCloudDataset
      type: string
      enum:
        - basic_v0
    AutotaskApiIntegrationCodeCredential:
      title: Autotask Api Integration Code Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - secret
                  type: string
              type: object
            - $ref: '#/components/schemas/SecretCredential'
            - type: object
              properties: {}
              description: >-
                Identifier used for individual tracking and management of API
                calls.
          required:
            - type
          title: New API Tracking ID
          type: object
          x-synqly-credential:
            extends: SecretCredential
            type: AutotaskApiIntegrationCodeCredential
        - description: Reference to existing API Tracking ID.
          properties:
            type:
              enum:
                - secret_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `secret`. Must match the `id` of an existing `secret`,
                    referencing by `name` is not allowed.
          required:
            - type
          title: Existing API Tracking ID
          type: object
          x-synqly-credential:
            extends: SecretCredentialId
            reference: true
            type: AutotaskApiIntegrationCodeCredential
    AutotaskSecretCredential:
      title: Autotask Secret Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - secret
                  type: string
              type: object
            - $ref: '#/components/schemas/SecretCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Secret.
          required:
            - type
          title: New Secret
          type: object
          x-synqly-credential:
            extends: SecretCredential
            type: AutotaskSecretCredential
        - description: Reference to existing Secret.
          properties:
            type:
              enum:
                - secret_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `secret`. Must match the `id` of an existing `secret`,
                    referencing by `name` is not allowed.
          required:
            - type
          title: Existing Secret
          type: object
          x-synqly-credential:
            extends: SecretCredentialId
            reference: true
            type: AutotaskSecretCredential
    AwsProviderCredential:
      title: Aws Provider Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - aws
                  type: string
              type: object
            - $ref: '#/components/schemas/AwsCredential'
            - type: object
              properties: {}
              description: Configuration when creating new AWS Access Keys.
          required:
            - type
          title: New AWS Access Keys
          type: object
          x-synqly-credential:
            extends: AwsCredential
            type: AwsProviderCredential
        - description: Reference to existing AWS Access Keys.
          properties:
            type:
              enum:
                - aws_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `aws`.
                    Must match the `id` of an existing `aws`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing AWS Access Keys
          type: object
          x-synqly-credential:
            extends: AwsCredentialId
            reference: true
            type: AwsProviderCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - aws_role
                  type: string
              type: object
            - $ref: '#/components/schemas/AwsRoleCredential'
            - type: object
              properties: {}
              description: Configuration when creating new AWS Role.
          required:
            - type
          title: New AWS Role
          type: object
          x-synqly-credential:
            extends: AwsRoleCredential
            type: AwsProviderCredential
        - description: Reference to existing AWS Role.
          properties:
            type:
              enum:
                - aws_role_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `aws_role`. Must match the `id` of an existing `aws_role`,
                    referencing by `name` is not allowed.
          required:
            - type
          title: Existing AWS Role
          type: object
          x-synqly-credential:
            extends: AwsRoleCredentialId
            reference: true
            type: AwsProviderCredential
    AwsRegion:
      title: AwsRegion
      type: string
      enum:
        - us-east-1
        - us-east-2
        - us-west-1
        - us-west-2
        - af-south-1
        - ap-east-1
        - ap-south-2
        - ap-southeast-3
        - ap-southeast-5
        - ap-southeast-4
        - ap-south-1
        - ap-northeast-3
        - ap-northeast-2
        - ap-southeast-1
        - ap-southeast-2
        - ap-east-2
        - ap-southeast-7
        - ap-northeast-1
        - ca-central-1
        - ca-west-1
        - eu-central-1
        - eu-west-1
        - eu-west-2
        - eu-south-1
        - eu-west-3
        - eu-south-2
        - eu-north-1
        - eu-central-2
        - il-central-1
        - mx-central-1
        - me-south-1
        - me-central-1
        - sa-east-1
    AxoniusCredential:
      title: Axonius Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: >-
                This credential must be an API Key and API Secret. For more
                details, see the [Getting an API Key and API
                Secret](https://docs.axonius.com/docs/axonius-rest-api#getting-an-api-key-and-api-secret).
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: AxoniusCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: AxoniusCredential
    AzureBlobCredential:
      title: Azure Blob Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Secret.
          required:
            - type
          title: New Client Secret
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: AzureBlobCredential
        - description: Reference to existing Client Secret.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Client Secret
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: AzureBlobCredential
    AzureMonitorLogsCredential:
      title: Azure Monitor Logs Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Secret.
          required:
            - type
          title: New Client Secret
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: AzureMonitorLogsCredential
        - description: Reference to existing Client Secret.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Client Secret
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: AzureMonitorLogsCredential
    ClarotyAPIURL:
      title: ClarotyAPIURL
      type: string
      enum:
        - https://api.claroty.com
        - https://eu.api.claroty.com
        - https://ca.api.claroty.com
        - https://au.api.claroty.com
        - https://demo-api.claroty.com
    ClarotyCredential:
      title: Claroty Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new API Token.
          required:
            - type
          title: New API Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: ClarotyCredential
        - description: Reference to existing API Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: ClarotyCredential
    CloudSecurity_AWS:
      title: cloudsecurity | AWS Cloud Security
      type: object
      description: Configuration for the AWS Cloud Security Provider
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/AwsProviderCredential'
              description: >-
                AWS credentials with access to [Amazon Security
                Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/what-are-securityhub-services.html).
            - title: Credential
              description: >-
                AWS credentials with access to [Amazon Security
                Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/what-are-securityhub-services.html).
        region:
          allOf:
            - $ref: '#/components/schemas/AwsRegion'
              description: >-
                The [AWS
                region](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html)
                to use for the AWS Cloud Security Provider.
            - title: Region
              description: >-
                The [AWS
                region](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html)
                to use for the AWS Cloud Security Provider.
      required:
        - credential
        - region
    CloudSecurity_CrowdStrike:
      title: cloudsecurity | CrowdStrike Cloud Security
      type: object
      description: Configuration for the CrowdStrike Cloud Security Provider
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/CrowdStrikeCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              nullable: true
              description: The root domain where your CrowdStrike Falcon tenant is located.
            - pattern: ^https?:.+$
              format: uri
              default: https://api.crowdstrike.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: The root domain where your CrowdStrike Falcon tenant is located.
      required:
        - credential
    CloudSecurity_Defender:
      title: cloudsecurity | Microsoft Defender for Cloud
      type: object
      description: Configuration for the Microsoft Defender for Cloud Provider
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/DefenderCredential'
            - title: Credential
        subscription_id:
          allOf:
            - type: string
              description: >-
                The Azure subscription ID that contains the Microsoft Defender
                for Cloud workspace.
            - title: Subscription ID
              description: >-
                The Azure subscription ID that contains the Microsoft Defender
                for Cloud workspace.
        tenant_id:
          allOf:
            - type: string
              description: >-
                The Azure Active Directory tenant ID that contains the Microsoft
                Defender for Cloud workspace.
            - title: Tenant ID
              description: >-
                The Azure Active Directory tenant ID that contains the Microsoft
                Defender for Cloud workspace.
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL to your Microsoft Defender for Cloud workspace.
            - pattern: ^https?:.+$
              format: uri
              default: https://management.azure.com/.default
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL to your Microsoft Defender for Cloud workspace.
      required:
        - credential
        - subscription_id
        - tenant_id
    CloudSecurity_PaloAlto:
      title: cloudsecurity | Palo Alto Networks Cortex Cloud Security
      type: object
      description: Configuration for Palo Alto Networks Cortex Cloud Security
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/PaloAltoCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Palo Alto Networks Cortex Cloud Security API.
            - example: https://api-{tenant}.xdr.{region}.paloaltonetworks.com
            - title: Base URL
              description: Base URL for the Palo Alto Networks Cortex Cloud Security API.
      required:
        - credential
        - url
    CrowdStrikeCredential:
      title: Crowd Strike Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: CrowdStrikeCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: CrowdStrikeCredential
    CrowdstrikeHECCredential:
      title: Crowdstrike HECCredential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new API Key.
          required:
            - type
          title: New API Key
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: CrowdstrikeHECCredential
        - description: Reference to existing API Key.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Key
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: CrowdstrikeHECCredential
    Custom_Synqly:
      title: custom | Custom Provider
      type: object
      description: Configuration for Synqly Custom Provider.
      properties:
        custom_id:
          allOf:
            - type: string
              description: >-
                Customer provider ID associated with this credential
                configuration
            - title: Custom provider ID
              description: >-
                Customer provider ID associated with this credential
                configuration
        endpoints:
          allOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/CustomEndpoint'
              description: >-
                Custom endpoints. Review the custom provider definition for the
                custom_id you supplied for the list of endpoints that must be
                defined. All endpoint in the provider definition are required.
            - title: Custom endpoints
              description: >-
                Custom endpoints. Review the custom provider definition for the
                custom_id you supplied for the list of endpoints that must be
                defined. All endpoint in the provider definition are required.
        tags:
          allOf:
            - type: object
              additionalProperties:
                type: string
              description: >-
                Tags that customize how provider requests are made, such as
                supplying a URL path parameter or account ID. Review the custom
                provider definition for the custom_id you supplied for the list
                of tags that must be defined. All tags in the provider
                definition are required.
            - title: Tags
              description: >-
                Tags that customize how provider requests are made, such as
                supplying a URL path parameter or account ID. Review the custom
                provider definition for the custom_id you supplied for the list
                of tags that must be defined. All tags in the provider
                definition are required.
      required:
        - custom_id
        - endpoints
        - tags
    CustomCredential:
      title: Custom Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - aws
                  type: string
              type: object
            - $ref: '#/components/schemas/AwsCredential'
            - type: object
              properties: {}
              description: Configuration when creating new AWS Access Keys.
          required:
            - type
          title: New AWS Access Keys
          type: object
          x-synqly-credential:
            extends: AwsCredential
            type: CustomCredential
        - description: Reference to existing AWS Access Keys.
          properties:
            type:
              enum:
                - aws_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `aws`.
                    Must match the `id` of an existing `aws`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing AWS Access Keys
          type: object
          x-synqly-credential:
            extends: AwsCredentialId
            reference: true
            type: CustomCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Basic Credentials.
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: CustomCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: CustomCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: CustomCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: CustomCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - secret
                  type: string
              type: object
            - $ref: '#/components/schemas/SecretCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Secret.
          required:
            - type
          title: New Secret
          type: object
          x-synqly-credential:
            extends: SecretCredential
            type: CustomCredential
        - description: Reference to existing Secret.
          properties:
            type:
              enum:
                - secret_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `secret`. Must match the `id` of an existing `secret`,
                    referencing by `name` is not allowed.
          required:
            - type
          title: Existing Secret
          type: object
          x-synqly-credential:
            extends: SecretCredentialId
            reference: true
            type: CustomCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: CustomCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: CustomCredential
    CustomEndpoint:
      title: Custom Endpoint
      type: object
      description: Defines URL and Credential to use for the endpoint
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/CustomCredential'
              description: >-
                The credential to use for the custom endpoint. Review the custom
                provider definition for the custom_id you supplied for the
                credential type that must be defined.
            - title: Custom endpoint credential
              description: >-
                The credential to use for the custom endpoint. Review the custom
                provider definition for the custom_id you supplied for the
                credential type that must be defined.
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: When true, skips verification of the TLS certificate.
            - default: false
            - title: Skip TLS Verification
              description: When true, skips verification of the TLS certificate.
        url:
          allOf:
            - type: string
              nullable: true
              description: >-
                Custom URL for the provider. If not provided, the default
                endpoint URL defined in the provider definition for the provided
                custom_id will be used instead.
            - pattern: ^https?:.+$
              format: uri
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Custom endpoint URL
              description: >-
                Custom URL for the provider. If not provided, the default
                endpoint URL defined in the provider definition for the provided
                custom_id will be used instead.
      required:
        - credential
    CustomFieldMapping:
      title: CustomFieldMapping
      type: object
      properties:
        name:
          allOf:
            - type: string
              description: >-
                Name for the custom field that you will use in the
                `custom_fields` field in the returned ticket objects.
            - title: Name
              description: >-
                Name for the custom field that you will use in the
                `custom_fields` field in the returned ticket objects.
        project_id:
          allOf:
            - type: string
              description: >-
                ID of the project this field mapping is associated with. ID of
                "\*" is used to apply to all projects.
            - title: Project ID
              description: >-
                ID of the project this field mapping is associated with. ID of
                "*" is used to apply to all projects.
        provider_field_path:
          allOf:
            - type: string
              description: Path to or name of the custom field in the provider.
            - title: Field Path (Provider)
              description: Path to or name of the custom field in the provider.
      required:
        - name
        - project_id
        - provider_field_path
    DefenderCredential:
      title: Defender Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Microsoft Defender OAuth client credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: DefenderCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: DefenderCredential
    Edr_CrowdStrike:
      title: edr | CrowdStrike Insight EDR
      type: object
      description: >-
        Configuration for CrowdStrike Falcon® Insight EDR.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/crowdstrike-edr-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/CrowdStrikeCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the CrowdStrike Falcon® API.
            - pattern: ^https?:.+$
              format: uri
              default: https://api.crowdstrike.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the CrowdStrike Falcon® API.
      required:
        - credential
    Edr_CrowdStrike_Mock:
      title: edr | [MOCK] CrowdStrike Insight EDR
      type: object
      description: Configuration for [MOCK] CrowdStrike Falcon® Insight EDR.
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/EdrCrowdStrikeDataset'
            - title: Dataset
      required:
        - dataset
    Edr_Defender:
      title: edr | Microsoft Defender
      type: object
      description: >-
        Configuration for Microsoft Defender for Endpoint.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/defender-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/DefenderCredential'
            - title: Credential
        tenant_id:
          allOf:
            - type: string
              description: Tenant ID for the Microsoft Defender Management Console.
            - title: Tenant ID
              description: Tenant ID for the Microsoft Defender Management Console.
        url:
          allOf:
            - type: string
              description: Base URL for the Microsoft Defender API.
            - pattern: ^https?:.+$
              format: uri
              default: https://api-us.securitycenter.windows.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Microsoft Defender API.
      required:
        - credential
        - tenant_id
        - url
    Edr_Malwarebytes:
      title: edr | ThreatDown EDR
      type: object
      description: >-
        Configuration for ThreatDown Endpoint Detection & Response.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/malwarebytes-setup)
      properties:
        account_identifier:
          allOf:
            - type: string
              description: Account identifier for the ThreatDown EDR tenant.
            - pattern: >-
                ^(https:\/\/cloud\.malwarebytes\.com\/)?((?:[\dA-Za-z]+-){4}[\dA-Za-z]+)(\/.*)?$
              example: >-
                xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - OR -
                https://cloud.malwarebytes.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/dashboard
              x-validation-message:
                patternMismatch: >-
                  Must be a valid Account ID
                  (`xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`) or tenant URL
                  (`https://cloud.malwarebytes.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/dashboard`).
            - title: Account ID
              description: Account identifier for the ThreatDown EDR tenant.
        credential:
          allOf:
            - $ref: '#/components/schemas/MalwarebytesCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the ThreatDown EDR API.
            - pattern: ^https?:.+$
              format: uri
              default: https://api.malwarebytes.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the ThreatDown EDR API.
      required:
        - account_identifier
        - credential
    Edr_SentinelOne:
      title: edr | SentinelOne Endpoint
      type: object
      description: >-
        Configuration for SentinelOne Singularity™ Endpoint.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/sentinelone-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/SentinelOneCredential'
            - title: Credential
        edr_events_credential:
          allOf:
            - $ref: '#/components/schemas/SentinelOneEdrEventsCredential'
              nullable: true
              description: >-
                Credential used for the SentinelOne Singularity Data Lake API.
                This credential is required when querying EDR events.
            - title: Events Credential
              description: >-
                Credential used for the SentinelOne Singularity Data Lake API.
                This credential is required when querying EDR events.
        edr_events_url:
          allOf:
            - type: string
              nullable: true
              description: >-
                Base URL for the SentinelOne Singularity Data Lake API. This URL
                is required is required when querying EDR events.
            - example: https://xdr.{region}.sentinelone.net
            - title: Events Base URL
              description: >-
                Base URL for the SentinelOne Singularity Data Lake API. This URL
                is required is required when querying EDR events.
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: >-
                When true, skips verification of the SentinelOne TLS
                certificate.
            - default: false
            - title: Skip TLS Verification
              description: >-
                When true, skips verification of the SentinelOne TLS
                certificate.
        url:
          allOf:
            - type: string
              description: Base URL for the SentinelOne Management API.
            - example: https://{tenant}.sentinelone.net
            - title: Base URL
              description: Base URL for the SentinelOne Management API.
      required:
        - credential
        - url
    Edr_Sophos:
      title: edr | Sophos Endpoint
      type: object
      description: >-
        Configuration for Sophos Endpoint.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/sophos-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/SophosCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Sophos Endpoint API.
            - default: https://api.central.sophos.com
            - title: Base URL
              description: Base URL for the Sophos Endpoint API.
      required:
        - credential
        - url
    Edr_Tanium:
      title: edr | Tanium EDR
      type: object
      description: >-
        Configuration for Tanium Cloud as a EDR Provider


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/tanium-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/TaniumCloudCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Tanium Cloud API
            - pattern: ^https?:.+$
              format: uri
              example: https://{customername}-api.cloud.tanium.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Tanium Cloud API
      required:
        - credential
        - url
    EdrCrowdStrikeDataset:
      title: EdrCrowdStrikeDataset
      type: string
      enum:
        - basic_v0
    ElasticsearchAuthOptions:
      title: Elasticsearch Authentication Options
      type: object
      description: >-
        Options used to control how requests are made to Elasticsearch when
        different authentication types are used.
      properties:
        run_as:
          allOf:
            - type: string
              nullable: true
              description: >-
                Submit API requests as a specific user, with all of their roles
                and permissions. When populated, this option will send the
                `es-security-runas-user` header with every request made to the
                Elasticsearch API.
            - title: Run As
              description: >-
                Submit API requests as a specific user, with all of their roles
                and permissions. When populated, this option will send the
                `es-security-runas-user` header with every request made to the
                Elasticsearch API.
        shared_secret:
          allOf:
            - $ref: '#/components/schemas/ElasticsearchSharedSecret'
              nullable: true
              description: >-
                Some auth cases, notably JWT auth, can be configured to require
                sending a shared secret in the `ES-Client-Authentication`
                header. When this secret is populated it will get added as the
                shared secret for every request made to Elasticsearch.
            - title: Shared Secret
              description: >-
                Some auth cases, notably JWT auth, can be configured to require
                sending a shared secret in the `ES-Client-Authentication`
                header. When this secret is populated it will get added as the
                shared secret for every request made to Elasticsearch.
    ElasticsearchCredential:
      title: Elasticsearch Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: >-
                Basic authentication credentials for Elasticsearch. It is
                recommended to use API keys or OAuth client credentials whenever
                possible.
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: ElasticsearchCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: ElasticsearchCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - required:
                - token_url
              type: object
              properties: {}
              description: >-
                Client credentials and connection data for an identity provider
                (IdP) that has been configured for use as a [JWT
                realm](https://www.elastic.co/guide/en/elasticsearch/reference/8.15/jwt-auth-realm.html)
                in Elasticsearch. *([Instructions for Elastic
                Cloud](https://www.elastic.co/guide/en/cloud/current/ec-securing-clusters-JWT.html).)*

                Requires a Token URL for the third party identity provider. To
                send specific scopes during the client credentials OAuth flow,
                specify them in `extra.scopes` as a list of strings.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: ElasticsearchCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: ElasticsearchCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: >-
                Elasticsearch API Key. Follow [this guide to generate an API
                Key](https://www.elastic.co/guide/en/kibana/current/api-keys.html).
                The API Key must have sufficient permissions to the target
                index.
          required:
            - type
          title: New API Key
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: ElasticsearchCredential
        - description: Reference to existing API Key.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Key
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: ElasticsearchCredential
    ElasticsearchSharedSecret:
      title: Shared Secret
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - secret
                  type: string
              type: object
            - $ref: '#/components/schemas/SecretCredential'
            - type: object
              properties: {}
              description: >-
                Shared secret used to populate the `ES-Client-Authentication`
                header during Elasticsearch requests.
          required:
            - type
          title: New Shared Secret
          type: object
          x-synqly-credential:
            extends: SecretCredential
            type: ElasticsearchSharedSecret
        - description: Reference to existing Shared Secret.
          properties:
            type:
              enum:
                - secret_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `secret`. Must match the `id` of an existing `secret`,
                    referencing by `name` is not allowed.
          required:
            - type
          title: Existing Shared Secret
          type: object
          x-synqly-credential:
            extends: SecretCredentialId
            reference: true
            type: ElasticsearchSharedSecret
    EntraIdCredential:
      title: Entra Id Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: >-
                Azure Client ID and Client Secret for a service principal. The
                application must be configured with permissions to access the
                user, group, and audit log graph APIs.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: EntraIdCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: EntraIdCredential
    FreshdeskCredential:
      title: Freshdesk Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: >-
                You can use your personal API key to authenticate the request.
                If you use the API key, there is no need for a password. The
                token is supplied as "Your API Key". [Freshdesk API token
                generation
                documentation](https://developer.freshdesk.com/api/#authentication)
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: FreshdeskCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: FreshdeskCredential
    GCSCredential:
      title: GCSCredential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - aws
                  type: string
              type: object
            - $ref: '#/components/schemas/AwsCredential'
            - type: object
              properties: {}
              description: >-
                AWS like credential that stores [hash-based message
                authentication code (HMAC)
                keys](https://cloud.google.com/storage/docs/authentication/hmackeys)
                with write access to the GCS bucket.
          required:
            - type
          title: New AWS Access Keys
          type: object
          x-synqly-credential:
            extends: AwsCredential
            type: GCSCredential
        - description: Reference to existing AWS Access Keys.
          properties:
            type:
              enum:
                - aws_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `aws`.
                    Must match the `id` of an existing `aws`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing AWS Access Keys
          type: object
          x-synqly-credential:
            extends: AwsCredentialId
            reference: true
            type: GCSCredential
    GCSJsonCredential:
      title: GCSJson Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: GCSJsonCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: GCSJsonCredential
    GitHubCredential:
      title: Git Hub Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: GitHubCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: GitHubCredential
    GitLabCredential:
      title: Git Lab Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: GitLabCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: GitLabCredential
    GoogleChronicleCredential:
      title: Google Chronicle Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - required:
                - extra
              type: object
              properties:
                extra:
                  title: Extra
                  required:
                    - client_email
                  properties:
                    client_email:
                      title: Client Email
                      type: string
                  description: >-
                    Connection specific JSON map, must include the field
                    `client_email`.
                token_url:
                  title: Token URL
              description: >-
                OAuth client credentials for a Google Cloud Service Account with
                permissions for Google Security Operations (formerly Google
                Chronicle).
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: GoogleChronicleCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: GoogleChronicleCredential
    GoogleCredential:
      title: Google Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: GoogleCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: GoogleCredential
    GoogleServiceAccountCredential:
      title: Google Service Account Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - required:
                - extra
              type: object
              properties:
                extra:
                  title: Extra
                  required:
                    - client_email
                  properties:
                    client_email:
                      title: Client Email
                      type: string
                  description: >-
                    Connection specific JSON map, must include the field
                    `client_email`.
                token_url:
                  title: Token URL
              description: >-
                OAuth client credentials for a Google Cloud Service Account with
                permissions for Google Security Operations.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: GoogleServiceAccountCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: GoogleServiceAccountCredential
    HCLAppScanOnCloudCredential:
      title: HCLApp Scan On Cloud Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: HCLAppScanOnCloudCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: HCLAppScanOnCloudCredential
    HCLAppScanOnCloudUrl:
      title: HCLAppScanOnCloudUrl
      type: string
      enum:
        - https://cloud.appscan.com
        - https://eu.cloud.appscan.com
    HttpReceiverAuthConfig:
      title: HttpReceiverAuthConfig
      oneOf:
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - basic_config
            - $ref: '#/components/schemas/HttpReceiverBasicAuthConfig'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - o_auth_client_config
            - $ref: '#/components/schemas/HttpReceiverOAuthConfig'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - token_config
            - $ref: '#/components/schemas/HttpReceiverTokenAuthConfig'
          required:
            - type
    HttpReceiverBasicAuthConfig:
      title: Basic Authorization
      type: object
      description: >-
        Standard HTTP Basic authentication (RFC 7617). Credentials are sent in
        the Authorization header as Base64-encoded `username:password`.
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/HttpReceiverBasicCredential'
            - title: Basic Credentials
      required:
        - credential
    HttpReceiverBasicCredential:
      title: Http Receiver Basic Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Basic Credentials.
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: HttpReceiverBasicCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: HttpReceiverBasicCredential
    HttpReceiverMethod:
      title: HTTP Method
      type: string
      enum:
        - POST
        - PUT
        - PATCH
        - GET
      description: HTTP method to use for sending events.
    HttpReceiverOAuthConfig:
      title: OAuth Client Credentials
      type: object
      description: >-
        OAuth 2.0 client credentials flow (RFC 6749) for service-to-service
        authentication.
      properties:
        auth_style:
          allOf:
            - $ref: '#/components/schemas/HttpReceiverOAuthStyle'
              nullable: true
              description: >-
                How to send client credentials when requesting OAuth access
                tokens:


                - `in_header`: Send client credentials via HTTP Basic
                authentication. This is the **recommended and most secure
                method**, used by most modern OAuth 2.0 providers.

                - `in_params`: Send client credentials URL-encoded in the
                request body as form parameters. Required by some legacy OAuth
                servers and specific provider implementations. Consult your
                OAuth provider documentation for details.
            - default: in_header
            - title: Auth Style
              description: >-
                How to send client credentials when requesting OAuth access
                tokens:

                - `in_header`: Send client credentials via HTTP Basic
                authentication. This is the **recommended and most secure
                method**, used by most modern OAuth 2.0 providers.

                - `in_params`: Send client credentials URL-encoded in the
                request body as form parameters. Required by some legacy OAuth
                servers and specific provider implementations. Consult your
                OAuth provider documentation for details.
        credential:
          allOf:
            - $ref: '#/components/schemas/HttpReceiverOAuthCredential'
            - title: Client Credentials
        endpoint_params:
          allOf:
            - type: object
              additionalProperties:
                type: string
              nullable: true
              description: Additional parameters to include in OAuth token request
            - example:
                audience: https://api.example.com
                resource: https://graph.example.com
            - title: Endpoint Parameters
              description: Additional parameters to include in OAuth token request
        scopes:
          allOf:
            - type: array
              items:
                type: string
              nullable: true
              description: OAuth2 scopes to request when fetching access token
            - example:
                - https://api.example.com/.default
                - events.write
            - title: Scopes
              description: OAuth2 scopes to request when fetching access token
      required:
        - credential
    HttpReceiverOAuthCredential:
      title: Http Receiver OAuth Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: HttpReceiverOAuthCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: HttpReceiverOAuthCredential
    HttpReceiverOAuthStyle:
      title: OAuth Style
      type: string
      enum:
        - in_header
        - in_params
      description: >-
        How to send client credentials when requesting OAuth access tokens:


        - `in_header`: Send client credentials via HTTP Basic authentication.
        This is the **recommended and most secure method**, used by most modern
        OAuth 2.0 providers.

        - `in_params`: Send client credentials URL-encoded in the request body
        as form parameters. Required by some legacy OAuth servers and specific
        provider implementations. Consult your OAuth provider documentation for
        details.
    HttpReceiverSigningCredential:
      title: Payload Signing Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - secret
                  type: string
              type: object
            - $ref: '#/components/schemas/SecretCredential'
            - type: object
              properties:
                secret:
                  title: HMAC-SHA256 Signing Secret
                  description: >-
                    Secret key for signing HTTP request payloads using
                    HMAC-SHA256. The signature is computed over the request body
                    and sent in the `X-Synqly-Signature` header with format
                    `sha256={hex_signature}`.
              description: Configuration when creating new Secret.
          required:
            - type
          title: New Secret
          type: object
          x-synqly-credential:
            extends: SecretCredential
            type: HttpReceiverSigningCredential
        - description: Reference to existing Secret.
          properties:
            type:
              enum:
                - secret_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `secret`. Must match the `id` of an existing `secret`,
                    referencing by `name` is not allowed.
          required:
            - type
          title: Existing Secret
          type: object
          x-synqly-credential:
            extends: SecretCredentialId
            reference: true
            type: HttpReceiverSigningCredential
    HttpReceiverTokenAuthConfig:
      title: Token Authorization
      type: object
      description: >-
        Token-based authentication for API keys, bearer tokens, and custom token
        schemes. By default, sends token in Authorization header as a Bearer
        token. Use the **Header Name** and **Template** options to override this
        behavior.
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/HttpReceiverTokenCredential'
            - title: Token Credential
        header_name:
          allOf:
            - type: string
              nullable: true
              description: HTTP header name to use when sending the token.
            - default: Authorization
              example: X-API-Key
            - title: Header Name
              description: HTTP header name to use when sending the token.
        template:
          allOf:
            - type: string
              nullable: true
              description: >-
                Template to use when building the HTTP header value. Use
                `{{token}}` as a placeholder for the secret token value. This
                will be substituted at runtime. Do not store any secrets in this
                field.
            - default: Bearer {{token}}
              example: ApiKey {{token}}
            - title: Header Value Template
              description: >-
                Template to use when building the HTTP header value. Use
                `{{token}}` as a placeholder for the secret token value. This
                will be substituted at runtime. Do not store any secrets in this
                field.
      required:
        - credential
    HttpReceiverTokenCredential:
      title: Http Receiver Token Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: HttpReceiverTokenCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: HttpReceiverTokenCredential
    HttpRequestBodyFormat:
      title: Body Format
      type: string
      enum:
        - jsonl
        - json_array
      description: >-
        Format for serializing events in the request body sent to the receiving
        endpoint.
    Identity_EntraId:
      title: identity | Microsoft Entra ID
      type: object
      description: >-
        Configuration for Microsoft Entra ID.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/entra-id-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/EntraIdCredential'
            - title: Credential
        tenant_id:
          allOf:
            - type: string
              description: Azure Directory (tenant) identifier.
            - title: Tenant ID
              description: Azure Directory (tenant) identifier.
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the the Microsoft Graph API.
            - title: Base URL
              description: Base URL for the the Microsoft Graph API.
      required:
        - credential
        - tenant_id
    Identity_Google:
      title: identity | Google Workspace
      type: object
      description: >-
        Configuration for Google Workspace.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/google-workspace-setup)
      properties:
        client_email:
          allOf:
            - type: string
              description: Client email associated with the service account key.
            - example: '{service-account-name}@{project-id}.iam.gserviceaccount.com'
            - title: Client Email
              description: Client email associated with the service account key.
        credential:
          allOf:
            - $ref: '#/components/schemas/GoogleCredential'
            - title: Credential
        delegate:
          allOf:
            - type: string
              description: >-
                Email address of the user that the service account is
                impersonating for domain-wide delegation. For more information,
                see [this Google support
                article](https://support.google.com/a/answer/162106).
            - title: Delegate
              description: >-
                Email address of the user that the service account is
                impersonating for domain-wide delegation. For more information,
                see [this Google support
                article](https://support.google.com/a/answer/162106).
      required:
        - client_email
        - credential
        - delegate
    Identity_Okta:
      title: identity | Okta Identity
      type: object
      description: >-
        Configuration for Okta Identity.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/okta-identity-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/OktaCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Okta API.
            - example: https://{tenant}.okta.com
            - title: Base URL
              description: Base URL for the Okta API.
      required:
        - credential
        - url
    Identity_PingOne:
      title: identity | PingOne Cloud Platform
      type: object
      description: >-
        Configuration for PingOne Cloud Platform.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/ping-identity-setup)
      properties:
        auth_url:
          allOf:
            - $ref: '#/components/schemas/PingOneAuthURL'
              description: Base URL for making authentication requests to PingOne.
            - pattern: ^https?:.+$
              format: uri
              default: https://auth.pingone.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Auth URL
              description: Base URL for making authentication requests to PingOne.
        client_id:
          allOf:
            - type: string
              description: Client ID for the application set up as a worker.
            - title: Client ID
              description: Client ID for the application set up as a worker.
        credential:
          allOf:
            - $ref: '#/components/schemas/PingOneCredential'
            - title: Credential
        organization_id:
          allOf:
            - type: string
              description: The organization ID that the client app is a part of.
            - title: Organization ID
              description: The organization ID that the client app is a part of.
        url:
          allOf:
            - $ref: '#/components/schemas/PingOneAPIURL'
              description: Base URL for the PingOne API.
            - pattern: ^https?:.+$
              format: uri
              default: https://api.pingone.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the PingOne API.
      required:
        - auth_url
        - client_id
        - credential
        - organization_id
        - url
    IncidentIOCredential:
      title: Incident IOCredential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: IncidentIOCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: IncidentIOCredential
    IncidentResponse_IncidentIO:
      title: incidentresponse | incident.io
      type: object
      description: >-
        Configuration for incident.io as an Incident Response Provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/incident-io-incident-response-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/IncidentIOCredential'
              description: Credential used for accessing the incident.io API.
            - title: Credential
              description: Credential used for accessing the incident.io API.
      required:
        - credential
    IncidentResponse_PagerDuty:
      title: incidentresponse | PagerDuty
      type: object
      description: >-
        Configuration for PagerDuty as an incident response provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/pagerduty-incident-response-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/PagerDutyCredential'
            - title: Credential
      required:
        - credential
    IvantiCredential:
      title: Ivanti Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties:
                token_url:
                  title: Token URL
                  description: This field is ignored and should not be set.
                  readOnly: true
              description: Configuration when creating new Token URL.
          required:
            - type
          title: New Token URL
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: IvantiCredential
        - description: Reference to existing Token URL.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Token URL
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: IvantiCredential
    IvantiCredentialTicketing:
      title: Ivanti ITSM Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties:
                secret:
                  title: API Key
                  description: >-
                    The Reference ID (REST API Key) generated for your tenant in
                    Ivanti ITSM.
                  example: abc123def456ghi789
              description: >-
                REST API Key used for authenticating with Ivanti ITSM. This key
                is static  and does not expire, unlike Session IDs.
          required:
            - type
          title: New REST API Key
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: IvantiCredentialTicketing
        - description: Reference to existing REST API Key.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing REST API Key
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: IvantiCredentialTicketing
    JiraCredential:
      title: Jira Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Basic Credentials.
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: JiraCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: JiraCredential
    MalwarebytesCredential:
      title: Malwarebytes Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: MalwarebytesCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: MalwarebytesCredential
    Notifications_Jira:
      title: notifications | Atlassian Jira
      type: object
      description: >-
        Configuration for Atlassian Jira.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/jira-notification-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/JiraCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Jira API.
            - example: https://tenant.atlassian.net
            - title: Base URL
              description: Base URL for the Jira API.
      required:
        - credential
        - url
    Notifications_Mock:
      title: notifications | Test Provider
      type: object
      description: >-
        Configuration for the Synqly mock in-memory SIEM Provider. This provider
        is for testing purposes only and does not retain noficiations pushed to
        it.
      properties:
        channel:
          allOf:
            - type: string
              nullable: true
              description: The channel to send notifications to.
            - title: Channel
              description: The channel to send notifications to.
    Notifications_Slack:
      title: notifications | Slack
      type: object
      description: >-
        Configuration for Slack.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/slack-notification-setup)
      properties:
        channel:
          allOf:
            - type: string
              description: >-
                Channel to send notifications to. Must be a valid existing
                channel.
            - title: Channel
              description: >-
                Channel to send notifications to. Must be a valid existing
                channel.
        credential:
          allOf:
            - $ref: '#/components/schemas/SlackCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the Slack API.
            - pattern: ^https?:.+$
              format: uri
              default: https://slack.com/
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Slack API.
      required:
        - channel
        - credential
    Notifications_Slack_Webhook:
      title: notifications | Slack Incoming Webhook
      type: object
      description: >-
        Configuration for the Slack Notification Provider using Incoming
        Webhooks.

        Incoming Webhooks are a way to post messages from apps into Slack. The
        can not be used for any other actions, such as reading or deleting
        messages.
      properties:
        webhook_url:
          allOf:
            - $ref: '#/components/schemas/SlackWebhookCredential'
            - title: Incoming Webhook URL
      required:
        - webhook_url
    Notifications_Teams:
      title: notifications | Microsoft Teams
      type: object
      description: >-
        Configuration for Microsoft Teams.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/teams-notification-setup)
      properties:
        channel_id:
          allOf:
            - type: string
              description: Identifier of the channel to send messages to.
            - title: Channel ID
              description: Identifier of the channel to send messages to.
        credential:
          allOf:
            - $ref: '#/components/schemas/TeamsCredential'
            - title: Credential
        endpoint:
          allOf:
            - type: string
              nullable: true
              description: >-
                URL of the endpoint to send messages to. Only required if OAuth
                Client Credentials are used for authentication.
            - title: Message Endpoint
              description: >-
                URL of the endpoint to send messages to. Only required if OAuth
                Client Credentials are used for authentication.
        team_id:
          allOf:
            - type: string
              description: Identifier of the team to send messages to.
            - title: Team ID
              description: Identifier of the team to send messages to.
        tenant_id:
          allOf:
            - type: string
              nullable: true
              description: >-
                Azure Directory (tenant) ID. Only required if OAuth Client
                Credentials are used for authentication.
            - title: Tenant ID
              description: >-
                Azure Directory (tenant) ID. Only required if OAuth Client
                Credentials are used for authentication.
      required:
        - channel_id
        - credential
        - team_id
    NozomiVantageCredential:
      title: Nozomi Vantage Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties:
                secret:
                  title: Token Secret
                username:
                  title: Token Name
              description: API key name and secret value of your Nozomi Vantage API token.
          required:
            - type
          title: New API Token
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: NozomiVantageCredential
        - description: Reference to existing API Token.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Token
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: NozomiVantageCredential
    NucleusCredential:
      title: Nucleus Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new API Key.
          required:
            - type
          title: New API Key
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: NucleusCredential
        - description: Reference to existing API Key.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Key
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: NucleusCredential
    OktaCredential:
      title: Okta Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: >-
                OAuth 2.0 Token URL, Client ID, and Client Secret for a Synqly
                Identity Connector API service application.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: OktaCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: OktaCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: >-
                Token to authenticate with Okta. Follow [this guide to generate
                an API
                token](https://developer.okta.com/docs/guides/create-an-api-token).
                The token must have access to list records in the system audit
                log. (Not for production use. Use `o_auth_client` instead)
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: OktaCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: OktaCredential
    OpenSearchCredential:
      title: Open Search Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: |
                Basic authentication credentials for OpenSearch.
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: OpenSearchCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: OpenSearchCredential
    OpenTextApplicationSecurityCredential:
      title: Open Text Application Security Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: OpenTextApplicationSecurityCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: OpenTextApplicationSecurityCredential
    OpenTextCoreApplicationSecurityCredential:
      title: Open Text Core Application Security Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: OpenTextCoreApplicationSecurityCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: OpenTextCoreApplicationSecurityCredential
    OpenTextCoreApplicationSecurityUrl:
      title: OpenTextCoreApplicationSecurityUrl
      type: string
      enum:
        - https://api.ams.fortify.com
        - https://api.emea.fortify.com
        - https://api.apac.fortify.com
        - https://api.sgp.fortify.com
        - https://api.fed.fortifygov.com
        - https://api.trial.fortify.com
    PagerDutyCredential:
      title: Pager Duty Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new API Key.
          required:
            - type
          title: New API Key
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: PagerDutyCredential
        - description: Reference to existing API Key.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Key
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: PagerDutyCredential
    PaloAltoCredential:
      title: Palo Alto Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties:
                secret:
                  title: API Key
                  description: >-
                    API Key for the Palo Alto Networks Cortex Cloud Security
                    API.
                username:
                  title: API Key ID
                  description: >-
                    API Key ID for the Palo Alto Networks Cortex Cloud Security
                    API.
              description: Configuration when creating new API Key.
          required:
            - type
          title: New API Key
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: PaloAltoCredential
        - description: Reference to existing API Key.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Key
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: PaloAltoCredential
    PantherBearerCredential:
      title: Bearer Token Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: >-
                Bearer token for authenticating with your Panther HTTP source.
                Generate this token in your Panther instance with appropriate
                write permissions.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: PantherBearerCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: PantherBearerCredential
    PingOneAPIURL:
      title: PingOneAPIURL
      type: string
      enum:
        - https://api.pingone.com
        - https://api.pingone.ca
        - https://api.pingone.eu
        - https://api.pingone.com.au
        - https://api.pingone.sg
        - https://api.pingone.asia
    PingOneAuthURL:
      title: PingOneAuthURL
      type: string
      enum:
        - https://auth.pingone.com
        - https://auth.pingone.ca
        - https://auth.pingone.eu
        - https://auth.pingone.com.au
        - https://auth.pingone.sg
        - https://auth.pingone.asia
    PingOneCredential:
      title: Ping One Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: PingOneCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: PingOneCredential
    ProviderConfig:
      title: ProviderConfig
      oneOf:
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - appsec_amazon_inspector
            - $ref: '#/components/schemas/Appsec_amazon_Inspector'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - appsec_github
            - $ref: '#/components/schemas/appsec_GitHub'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - appsec_gitlab
            - $ref: '#/components/schemas/appsec_GitLab'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - appsec_hcl_appscan_on_cloud
            - $ref: '#/components/schemas/appsec_HCLAppScanOnCloud'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - appsec_opentext_application_security
            - $ref: '#/components/schemas/appsec_OpenTextApplicationSecurity'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - appsec_opentext_core_application_security
            - $ref: '#/components/schemas/appsec_OpenTextCoreApplicationSecurity'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - appsec_opentext_core_application_security_mock
            - $ref: '#/components/schemas/appsec_OpenTextCoreApplicationSecurityMock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - appsec_snyk
            - $ref: '#/components/schemas/AppSec_Snyk'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_armis_centrix
            - $ref: '#/components/schemas/Assets_ArmisCentrix'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_armis_centrix_mock
            - $ref: '#/components/schemas/Assets_ArmisCentrix_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_axonius
            - $ref: '#/components/schemas/Assets_Axonius'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_axonius_mock
            - $ref: '#/components/schemas/Assets_Axonius_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_claroty_xdome
            - $ref: '#/components/schemas/Assets_ClarotyXdome'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_crowdstrike
            - $ref: '#/components/schemas/Assets_CrowdStrike'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_crowdstrike_mock
            - $ref: '#/components/schemas/Assets_CrowdStrike_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_ivanti_neurons
            - $ref: '#/components/schemas/Assets_IvantiNeurons'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_ivanti_neurons_mock
            - $ref: '#/components/schemas/Assets_IvantiNeurons_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_nozomi_vantage
            - $ref: '#/components/schemas/Assets_NozomiVantage'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_nozomi_vantage_mock
            - $ref: '#/components/schemas/Assets_NozomiVantage_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_qualys_cloud
            - $ref: '#/components/schemas/Assets_QualysCloud'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_qualys_cloud_mock
            - $ref: '#/components/schemas/Assets_QualysCloud_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_servicenow
            - $ref: '#/components/schemas/Assets_ServiceNow'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_servicenow_mock
            - $ref: '#/components/schemas/Assets_ServiceNow_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_sevco
            - $ref: '#/components/schemas/Assets_Sevco'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_sevco_mock
            - $ref: '#/components/schemas/Assets_Sevco_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_tanium_cloud
            - $ref: '#/components/schemas/Assets_TaniumCloud'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - assets_tanium_cloud_mock
            - $ref: '#/components/schemas/Assets_TaniumCloud_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - cloudsecurity_aws
            - $ref: '#/components/schemas/CloudSecurity_AWS'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - cloudsecurity_crowdstrike
            - $ref: '#/components/schemas/CloudSecurity_CrowdStrike'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - cloudsecurity_defender
            - $ref: '#/components/schemas/CloudSecurity_Defender'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - cloudsecurity_paloalto
            - $ref: '#/components/schemas/CloudSecurity_PaloAlto'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - custom_synqly
            - $ref: '#/components/schemas/Custom_Synqly'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - edr_crowdstrike
            - $ref: '#/components/schemas/Edr_CrowdStrike'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - edr_crowdstrike_mock
            - $ref: '#/components/schemas/Edr_CrowdStrike_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - edr_defender
            - $ref: '#/components/schemas/Edr_Defender'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - edr_malwarebytes
            - $ref: '#/components/schemas/Edr_Malwarebytes'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - edr_sentinelone
            - $ref: '#/components/schemas/Edr_SentinelOne'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - edr_sophos
            - $ref: '#/components/schemas/Edr_Sophos'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - edr_tanium
            - $ref: '#/components/schemas/Edr_Tanium'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - identity_entra_id
            - $ref: '#/components/schemas/Identity_EntraId'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - identity_google
            - $ref: '#/components/schemas/Identity_Google'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - identity_okta
            - $ref: '#/components/schemas/Identity_Okta'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - identity_pingone
            - $ref: '#/components/schemas/Identity_PingOne'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - incidentresponse_incidentio
            - $ref: '#/components/schemas/IncidentResponse_IncidentIO'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - incidentresponse_pagerduty
            - $ref: '#/components/schemas/IncidentResponse_PagerDuty'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - notifications_jira
            - $ref: '#/components/schemas/Notifications_Jira'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - notifications_mock_notifications
            - $ref: '#/components/schemas/Notifications_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - notifications_slack
            - $ref: '#/components/schemas/Notifications_Slack'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - notifications_slack_webhook
            - $ref: '#/components/schemas/Notifications_Slack_Webhook'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - notifications_teams
            - $ref: '#/components/schemas/Notifications_Teams'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_crowdstrike
            - $ref: '#/components/schemas/SIEM_Crowdstrike'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_elasticsearch
            - $ref: '#/components/schemas/SIEM_Elasticsearch'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_google_chronicle
            - $ref: '#/components/schemas/SIEM_GoogleChronicle'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_google_security_operations
            - $ref: '#/components/schemas/SIEM_GoogleSecurityOperations'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_mock_siem
            - $ref: '#/components/schemas/SIEM_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_opensearch
            - $ref: '#/components/schemas/SIEM_OpenSearch'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_q_radar
            - $ref: '#/components/schemas/SIEM_QRadar'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_rapid7_insightidr
            - $ref: '#/components/schemas/SIEM_Rapid7InsightIDR'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_sentinel
            - $ref: '#/components/schemas/SIEM_Sentinel'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_splunk
            - $ref: '#/components/schemas/SIEM_Splunk'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - siem_sumo_logic
            - $ref: '#/components/schemas/SIEM_SumoLogic'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_aws_s3
            - $ref: '#/components/schemas/Sink_AwsS3'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_aws_security_lake
            - $ref: '#/components/schemas/Sink_AwsSecurityLake'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_aws_sqs
            - $ref: '#/components/schemas/Sink_AwsSQS'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_azure_blob
            - $ref: '#/components/schemas/Sink_AzureBlob'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_azure_monitor_logs
            - $ref: '#/components/schemas/Sink_AzureMonitorLogs'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_crowdstrike_hec
            - $ref: '#/components/schemas/Sink_CrowdstrikeHEC'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_elasticsearch
            - $ref: '#/components/schemas/Sink_Elasticsearch'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_gcs
            - $ref: '#/components/schemas/Sink_Gcs'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_google_sec_ops
            - $ref: '#/components/schemas/Sink_GoogleSecOps'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_google_security_operations
            - $ref: '#/components/schemas/Sink_GoogleSecurityOperations'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_http
            - $ref: '#/components/schemas/Sink_Http'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_mock_sink
            - $ref: '#/components/schemas/Sink_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_opensearch
            - $ref: '#/components/schemas/Sink_OpenSearch'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_panther
            - $ref: '#/components/schemas/Sink_Panther'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_q_radar
            - $ref: '#/components/schemas/Sink_QRadar'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_splunk
            - $ref: '#/components/schemas/Sink_Splunk'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - sink_sumo_logic
            - $ref: '#/components/schemas/Sink_SumoLogic'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - storage_aws_s3
            - $ref: '#/components/schemas/Storage_AwsS3'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - storage_azure_blob
            - $ref: '#/components/schemas/Storage_AzureBlob'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - storage_gcs
            - $ref: '#/components/schemas/Storage_GCS'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - storage_mock_storage
            - $ref: '#/components/schemas/Storage_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_autotask
            - $ref: '#/components/schemas/Ticketing_Autotask'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_freshdesk
            - $ref: '#/components/schemas/Ticketing_Freshdesk'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_ivanti
            - $ref: '#/components/schemas/Ticketing_Ivanti'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_ivanti_mock
            - $ref: '#/components/schemas/Ticketing_Ivanti_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_jira
            - $ref: '#/components/schemas/Ticketing_Jira'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_jira_service_management
            - $ref: '#/components/schemas/Ticketing_JiraServiceManagement'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_mock_ticketing
            - $ref: '#/components/schemas/Ticketing_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_pagerduty
            - $ref: '#/components/schemas/Ticketing_PagerDuty'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_pagerduty_mock
            - $ref: '#/components/schemas/Ticketing_PagerDutyMock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_servicenow
            - $ref: '#/components/schemas/Ticketing_ServiceNow'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_servicenow_sir
            - $ref: '#/components/schemas/Ticketing_ServiceNowSIR'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_torq
            - $ref: '#/components/schemas/Ticketing_Torq'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ticketing_zendesk
            - $ref: '#/components/schemas/Ticketing_Zendesk'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_amazon_inspector
            - $ref: '#/components/schemas/Vulnerabilities_AmazonInspector'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_crowdstrike
            - $ref: '#/components/schemas/Vulnerabilities_CrowdStrike'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_crowdstrike_mock
            - $ref: '#/components/schemas/Vulnerabilities_CrowdStrike_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_nucleus
            - $ref: '#/components/schemas/Vulnerabilities_Nucleus'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_qualys_cloud
            - $ref: '#/components/schemas/Vulnerabilities_QualysCloud'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_qualys_cloud_mock
            - $ref: '#/components/schemas/Vulnerabilities_QualysCloud_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_rapid7_insight_cloud
            - $ref: '#/components/schemas/Vulnerabilities_Rapid7InsightCloud'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_rapid7_insight_cloud_mock
            - $ref: '#/components/schemas/Vulnerabilities_Rapid7InsightCloud_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_servicenow_vr
            - $ref: '#/components/schemas/Vulnerabilities_ServiceNow'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_tanium_cloud
            - $ref: '#/components/schemas/Vulnerabilities_TaniumCloud'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_tanium_cloud_mock
            - $ref: '#/components/schemas/Vulnerabilities_TaniumCloud_Mock'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - vulnerabilities_tenable_cloud
            - $ref: '#/components/schemas/Vulnerabilities_TenableCloud'
          required:
            - type
    ProviderConfigId:
      title: ProviderConfigId
      type: string
      enum:
        - appsec_amazon_inspector
        - appsec_github
        - appsec_gitlab
        - appsec_hcl_appscan_on_cloud
        - appsec_opentext_application_security
        - appsec_opentext_core_application_security
        - appsec_opentext_core_application_security_mock
        - appsec_snyk
        - assets_armis_centrix
        - assets_armis_centrix_mock
        - assets_axonius
        - assets_axonius_mock
        - assets_claroty_xdome
        - assets_crowdstrike
        - assets_crowdstrike_mock
        - assets_ivanti_neurons
        - assets_ivanti_neurons_mock
        - assets_nozomi_vantage
        - assets_nozomi_vantage_mock
        - assets_qualys_cloud
        - assets_qualys_cloud_mock
        - assets_servicenow
        - assets_servicenow_mock
        - assets_sevco
        - assets_sevco_mock
        - assets_tanium_cloud
        - assets_tanium_cloud_mock
        - cloudsecurity_aws
        - cloudsecurity_crowdstrike
        - cloudsecurity_defender
        - cloudsecurity_paloalto
        - custom_synqly
        - edr_crowdstrike
        - edr_crowdstrike_mock
        - edr_defender
        - edr_malwarebytes
        - edr_sentinelone
        - edr_sophos
        - edr_tanium
        - identity_entra_id
        - identity_google
        - identity_okta
        - identity_pingone
        - incidentresponse_incidentio
        - incidentresponse_pagerduty
        - notifications_jira
        - notifications_mock_notifications
        - notifications_slack_webhook
        - notifications_slack
        - notifications_teams
        - siem_crowdstrike
        - siem_elasticsearch
        - siem_google_chronicle
        - siem_google_security_operations
        - siem_mock_siem
        - siem_opensearch
        - siem_q_radar
        - siem_rapid7_insightidr
        - siem_sentinel
        - siem_splunk
        - siem_sumo_logic
        - sink_aws_s3
        - sink_aws_security_lake
        - sink_aws_sqs
        - sink_azure_blob
        - sink_azure_monitor_logs
        - sink_crowdstrike_hec
        - sink_elasticsearch
        - sink_gcs
        - sink_google_sec_ops
        - sink_google_security_operations
        - sink_http
        - sink_mock_sink
        - sink_opensearch
        - sink_panther
        - sink_q_radar
        - sink_splunk
        - sink_sumo_logic
        - storage_aws_s3
        - storage_azure_blob
        - storage_gcs
        - storage_mock_storage
        - ticketing_autotask
        - ticketing_freshdesk
        - ticketing_ivanti
        - ticketing_ivanti_mock
        - ticketing_jira
        - ticketing_jira_service_management
        - ticketing_mock_ticketing
        - ticketing_pagerduty
        - ticketing_pagerduty_mock
        - ticketing_servicenow
        - ticketing_servicenow_sir
        - ticketing_torq
        - ticketing_zendesk
        - vulnerabilities_amazon_inspector
        - vulnerabilities_crowdstrike
        - vulnerabilities_crowdstrike_mock
        - vulnerabilities_nucleus
        - vulnerabilities_qualys_cloud
        - vulnerabilities_qualys_cloud_mock
        - vulnerabilities_rapid7_insight_cloud
        - vulnerabilities_rapid7_insight_cloud_mock
        - vulnerabilities_servicenow_vr
        - vulnerabilities_tanium_cloud
        - vulnerabilities_tanium_cloud_mock
        - vulnerabilities_tenable_cloud
        - '*'
      description: List of supported providers.
    QRadarCredential:
      title: QRadar Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: >-
                Authorized service token for QRadar Operations. [Guide to
                generate a
                token](https://www.ibm.com/docs/en/qradar-common?topic=app-creating-authorized-service-token-qradar-operations).
          required:
            - type
          title: New Authorized Service Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: QRadarCredential
        - description: Reference to existing Authorized Service Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Authorized Service Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: QRadarCredential
    QualysCloudCredential:
      title: Qualys Cloud Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: Username and password used to authenticate with Qualys Cloud.
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: QualysCloudCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: QualysCloudCredential
    Rapid7InsightCloudCredential:
      title: Rapid7Insight Cloud Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new API Token.
          required:
            - type
          title: New API Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: Rapid7InsightCloudCredential
        - description: Reference to existing API Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: Rapid7InsightCloudCredential
    SIEM_Crowdstrike:
      title: siem | CrowdStrike Next-Gen SIEM
      type: object
      description: >-
        Configuration for CrowdStrike Falcon® Next-Gen SIEM.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/crowdstrike-siem-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/CrowdStrikeCredential'
              description: >-
                The credential to use for the CrowdStrike Falcon NextGen SIEM
                tenant.
            - title: Credential
              description: >-
                The credential to use for the CrowdStrike Falcon NextGen SIEM
                tenant.
        hec_credential:
          allOf:
            - $ref: '#/components/schemas/CrowdstrikeHECCredential'
              nullable: true
              description: >-
                Token credential to use for connecting to the CrowdStrike HEC
                service. If not provided, sending events to CrowdStrike is
                disabled.
            - title: HEC Credential
              description: >
                Token credential to use for connecting to the CrowdStrike HEC
                service. If not provided, sending events to CrowdStrike is
                disabled.
        hec_url:
          allOf:
            - type: string
              nullable: true
              description: The generated CrowdStrike HEC URL provided with your token.
            - pattern: ^https?:.+$
              format: uri
              example: >-
                https://<some-guid>.ingest.us-2.crowdstrike.com/services/collector
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: HEC URL
              description: The generated CrowdStrike HEC URL provided with your token.
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the CrowdStrike Falcon® Next-Gen SIEM API.
            - pattern: ^https?:.+$
              format: uri
              default: https://api.crowdstrike.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the CrowdStrike Falcon® Next-Gen SIEM API.
      required:
        - credential
    SIEM_Elasticsearch:
      title: siem | Elastic SIEM
      type: object
      description: >-
        Configuration for Elastic SIEM.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/elastic-setup)
      properties:
        auth_options:
          allOf:
            - $ref: '#/components/schemas/ElasticsearchAuthOptions'
              nullable: true
            - title: Authentication Options
        create_index:
          allOf:
            - type: string
              nullable: true
              description: >-
                The index or data stream to use when writing events. Defaults to
                the `index` setting if not set.
            - title: Create Index
              description: >-
                The index or data stream to use when writing events. Defaults to
                the `index` setting if not set.
        credential:
          allOf:
            - $ref: '#/components/schemas/ElasticsearchCredential'
            - title: Credential
        index:
          allOf:
            - type: string
              nullable: true
              description: The index, data stream, or index alias to read events from.
            - default: _all
            - title: Read Index
              description: The index, data stream, or index alias to read events from.
        kibana_url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the Kibana API.
            - example: https://tenant.elastic.com
            - title: Kibana API base URL
              description: |
                Base URL for the Kibana API.
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: >-
                When true, skips verification of the Elasticsearch TLS
                certificate.
            - default: false
            - title: Skip TLS Verification
              description: >-
                When true, skips verification of the Elasticsearch TLS
                certificate.
        url:
          allOf:
            - type: string
              description: Base URL for the Elasticsearch API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.elastic.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Elasticsearch API.
      required:
        - credential
        - url
    SIEM_GoogleChronicle:
      title: siem | Google Security Operations (Chronicle Compatibility)
      type: object
      description: >-
        Configuration for Google Security Operations (formerly Google Chronicle)
        as a SIEM Provider connecting via the older Backstory and Malachite
        APIs.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/google-chronicle-setup)
      properties:
        customer_id:
          allOf:
            - type: string
              nullable: true
              description: >-
                The customer ID reported when writing events. This field is
                required if writing events.
            - title: Customer Id
              description: >-
                The customer ID reported when writing events. This field is
                required if writing events.
        ingestion_credential:
          allOf:
            - $ref: '#/components/schemas/GoogleChronicleCredential'
              nullable: true
              description: >-
                Credentials used for writing events. If not specified then
                writing events is disabled.
            - title: Ingestion Credential
              description: >-
                Credentials used for writing events. If not specified then
                writing events is disabled.
        ingestion_url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the Google SecOps Ingestion API.
            - pattern: ^https?:.+$
              format: uri
              default: https://malachiteingestion-pa.googleapis.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Ingestion API base URL
              description: Base URL for the Google SecOps Ingestion API.
        search_credential:
          allOf:
            - $ref: '#/components/schemas/GoogleChronicleCredential'
              description: Credentials used for querying and reading events.
            - title: Search Credential
              description: Credentials used for querying and reading events.
        search_url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the Google SecOps Search API.
            - pattern: ^https?:.+$
              format: uri
              default: https://backstory.googleapis.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Search API base URL
              description: Base URL for the Google SecOps Search API.
      required:
        - search_credential
    SIEM_GoogleSecurityOperations:
      title: siem | Google Security Operations
      type: object
      description: >-
        Configuration for Google Security Operations (formerly Google Chronicle)
        as a SIEM Provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/google-security-operations-siem-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/GoogleServiceAccountCredential'
              description: Credentials used for accessing the Google SecOps instance.
            - title: Credential
              description: Credentials used for accessing the Google SecOps instance.
        customer_id:
          allOf:
            - type: string
              description: The customer ID of the Google SecOps instance.
            - title: Customer Id
              description: The customer ID of the Google SecOps instance.
        project_id:
          allOf:
            - type: string
              description: The project ID of the Google SecOps instance.
            - title: Project Id
              description: The project ID of the Google SecOps instance.
        region:
          allOf:
            - type: string
              nullable: true
              description: The region of the Google SecOps instance. Usually `us` or `eu`.
            - default: us
            - title: Region
              description: The region of the Google SecOps instance. Usually `us` or `eu`.
        url:
          allOf:
            - type: string
              nullable: true
              description: The base URL for the Google SecOps API.
            - pattern: ^https?:.+$
              format: uri
              example: https://{region}-chronicle.googleapis.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: The base URL for the Google SecOps API.
      required:
        - credential
        - customer_id
        - project_id
    SIEM_Mock:
      title: siem | Test Provider
      type: object
      description: >-
        Configuration for the Synqly mock in-memory SIEM Provider. This provider
        is for testing purposes only and does not retain events pushed to it.
      properties:
        index:
          allOf:
            - type: string
              nullable: true
              description: Name of the index where events are stored.
            - title: Index
              description: Name of the index where events are stored.
    SIEM_OpenSearch:
      title: siem | OpenSearch
      type: object
      description: >-
        Configuration for OpenSearch search and analytics engine. Supports both
        managed and self-hosted OpenSearch deployments
      properties:
        create_index:
          allOf:
            - type: string
              nullable: true
              description: >-
                The index or data stream to use when writing events. Defaults to
                the 'index' setting if not set.
            - title: Write Index
              description: >
                The index or data stream to use when writing events. Defaults to
                the 'index' setting if not set.
        credential:
          allOf:
            - $ref: '#/components/schemas/OpenSearchCredential'
            - title: Credential
        index:
          allOf:
            - type: string
              nullable: true
              description: The index, data stream, or index alias to read events from.
            - default: _all
            - title: Read Index
              description: |
                The index, data stream, or index alias to read events from.
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: When true, skips verification of the OpenSearch TLS certificate.
            - default: false
            - title: Skip TLS Verification
              description: When true, skips verification of the OpenSearch TLS certificate.
        url:
          allOf:
            - type: string
              description: Base URL for the OpenSearch API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.elastic.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: |
                Base URL for the OpenSearch API.
      required:
        - credential
        - url
    SIEM_QRadar:
      title: siem | IBM QRadar SIEM
      type: object
      description: >-
        Configuration for IBM QRadar SIEM.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/qradar-setup)
      properties:
        collection_port:
          allOf:
            - type: integer
              description: Port used by QRadar to accept incoming HTTP Receiver events.
            - title: Collection Port
              description: Port used by QRadar to accept incoming HTTP Receiver events.
        credential:
          allOf:
            - $ref: '#/components/schemas/QRadarCredential'
            - title: Credential
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: When true, skips verification of the QRadar TLS certificate.
            - default: false
            - title: Skip TLS Verification
              description: When true, skips verification of the QRadar TLS certificate.
        url:
          allOf:
            - type: string
              description: Base URL for the QRadar API.
            - pattern: ^https?:.+$
              format: uri
              example: https://qradar.westus2.cloudapp.azure.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the QRadar API.
      required:
        - collection_port
        - credential
        - url
    SIEM_Rapid7InsightIDR:
      title: siem | Rapid7 InsightIDR
      type: object
      description: >-
        Configuration for Rapid7 InsightIDR.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/rapid7-idr-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/Rapid7InsightCloudCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Rapid7 API.
            - pattern: ^https?:.+$
              format: uri
              example: https://us2.api.insight.rapid7.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Rapid7 API.
      required:
        - credential
        - url
    SIEM_Sentinel:
      title: siem | Microsoft Sentinel
      type: object
      description: >-
        Configuration for Microsoft Sentinel SIEM Product.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/microsoft-sentinel-siem-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/SentinelCredential'
            - title: Credential
        default_tables:
          allOf:
            - type: array
              items:
                type: string
              nullable: true
              description: >-
                The default tables to use for queries. Supply this value if you
                would like to a subset of the default tables or non-ASIM data
                tables with Sentinel/Log Analytics queries.

                If more than one table is specified, a union operator will join
                them to query all of the tables at once. Supply a single value
                with `*` if you would like to query all tables without the
                normalizing ASIM transformations.

                **Note** that a single `*` entry will map to a `union *` query.
                Relying heavily on these queries is generally discouraged by
                Sentinel because they are slower and more resource intensive.
            - default:
                - _Im_AuditEvent
                - _Im_Authentication
                - _Im_DhcpEvent
                - _Im_Dns
                - _Im_DnsBuiltIn
                - _Im_FileEvent
                - _Im_NetworkSession
                - _Im_Process_EmptyV01
                - _Im_ProcessCreate
                - _Im_ProcessEvent
                - _Im_ProcessTerminate
                - _Im_RegistryEvent
                - _Im_UserManagement
                - _Im_WebSession
            - title: Default Tables
              description: >-
                The default tables to use for queries. Supply this value if you
                would like to a subset of the default tables or non-ASIM data
                tables with Sentinel/Log Analytics queries.

                If more than one table is specified, a union operator will join
                them to query all of the tables at once. Supply a single value
                with `*` if you would like to query all tables without the
                normalizing ASIM transformations.

                **Note** that a single `*` entry will map to a `union *` query.
                Relying heavily on these queries is generally discouraged by
                Sentinel because they are slower and more resource intensive.
        ingest_url:
          allOf:
            - type: string
              nullable: true
              description: >-
                Either the logs ingestion API url for you Data Collection Rule
                or your Data Collection Endpoint URL. This value must be
                supplied to ingest data into Microsoft Sentinel. This should
                look something like
                https://mydcr-xxx-westus2.logs.z1.ingest.monitor.azure.com
            - default: https://monitor.azure.com
            - title: Ingest URL
              description: >-
                Either the logs ingestion API url for you Data Collection Rule
                or your Data Collection Endpoint URL. This value must be
                supplied to ingest data into Microsoft Sentinel. This should
                look something like
                https://mydcr-xxx-westus2.logs.z1.ingest.monitor.azure.com
        logs_url:
          allOf:
            - type: string
              nullable: true
              description: >-
                Base URL for the Microsoft Azure Monitor Logs API. Should only
                be supplied if using an alternate Microsoft cloud, such as
                GovCloud.
            - title: Base Logs URL
              description: >-
                Base URL for the Microsoft Azure Monitor Logs API. Should only
                be supplied if using an alternate Microsoft cloud, such as
                GovCloud.
        management_url:
          allOf:
            - type: string
              nullable: true
              description: >-
                Base URL for the Microsoft Azure Management API. Should only be
                supplied if using an alternate Microsoft cloud, such as
                GovCloud.
            - default: https://management.azure.com
            - title: Base Management URL
              description: >-
                Base URL for the Microsoft Azure Management API. Should only be
                supplied if using an alternate Microsoft cloud, such as
                GovCloud.
        resource_group:
          allOf:
            - type: string
              description: >-
                Azure resource group name that contains the Microsoft Sentinel
                workspace.
            - title: Resource Group
              description: >-
                Azure resource group name that contains the Microsoft Sentinel
                workspace.
        rule_id:
          allOf:
            - type: string
              nullable: true
              description: >-
                Immutable ID of the Data Collection Rule. This value must be
                supplied to ingest data into Microsoft Sentinel.
            - title: Data Collection Rule ID
              description: >-
                Immutable ID of the Data Collection Rule. This value must be
                supplied to ingest data into Microsoft Sentinel.
        stream_name:
          allOf:
            - type: string
              nullable: true
              description: >-
                Name of the Data Collection Rule stream. This value must be
                supplied to ingest data into Microsoft Sentinel.
            - title: Data Collection Rule stream
              description: >-
                Name of the Data Collection Rule stream. This value must be
                supplied to ingest data into Microsoft Sentinel.
        subscription_id:
          allOf:
            - type: string
              description: >-
                Azure subscription ID that contains the Microsoft Sentinel
                workspace.
            - title: Subscription ID
              description: >-
                Azure subscription ID that contains the Microsoft Sentinel
                workspace.
        tenant_id:
          allOf:
            - type: string
              description: >-
                Azure Active Directory tenant ID that contains the Microsoft
                Sentinel workspace.
            - title: Tenant ID
              description: >-
                Azure Active Directory tenant ID that contains the Microsoft
                Sentinel workspace.
        workspace_id:
          allOf:
            - type: string
              description: ID of the Microsoft Sentinel Log Analytics workspace.
            - title: Workspace ID
              description: ID of the Microsoft Sentinel Log Analytics workspace.
        workspace_name:
          allOf:
            - type: string
              description: Name of the Microsoft Sentinel Log Analytics workspace.
            - title: Workspace Name
              description: Name of the Microsoft Sentinel Log Analytics workspace.
      required:
        - credential
        - resource_group
        - subscription_id
        - tenant_id
        - workspace_id
        - workspace_name
    SIEM_Splunk:
      title: siem | Splunk Enterprise Security
      type: object
      description: >-
        Configuration for Splunk Enterprise Security.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/splunk-setup)
      properties:
        hec_credential:
          allOf:
            - $ref: '#/components/schemas/SplunkHECToken'
              nullable: true
              description: >-
                Credential to use when connecting to the Splunk HEC service. If
                not provided, sending events to Splunk is disabled.
            - title: HEC Token
              description: >-
                Credential to use when connecting to the Splunk HEC service. If
                not provided, sending events to Splunk is disabled.
        hec_url:
          allOf:
            - type: string
              nullable: true
              description: >-
                URL for the Splunk HEC endpoint. Must include the full path to
                the HEC endpoint.
            - example: https://tenant.cloud.splunk.com:8088/services_collector_event
            - title: HEC URL
              description: >-
                URL for the Splunk HEC endpoint. Must include the full path to
                the HEC endpoint.
        index:
          allOf:
            - type: string
              nullable: true
              description: >-
                Splunk index to send events to. If not provided, will use the
                default index for the Splunk collector.
            - title: Index
              description: >-
                Splunk index to send events to. If not provided, will use the
                default index for the Splunk collector.
        search_service_credential:
          allOf:
            - $ref: '#/components/schemas/SplunkSearchCredential'
              description: >-
                Credential used when authenticating with the Splunk Search
                Service.
            - title: Search Service Token
              description: >-
                Credential used when authenticating with the Splunk Search
                Service.
        search_service_url:
          allOf:
            - type: string
              description: URL used when connecting to the Splunk Search Service.
            - example: https://splunk-service.com/services/collector/event
            - title: Search Service URL
              description: URL used when connecting to the Splunk Search Service.
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: When true, skips verification of the Splunk TLS certificate.
            - default: false
            - title: Skip TLS Verification
              description: When true, skips verification of the Splunk TLS certificate.
        source:
          allOf:
            - type: string
              nullable: true
              description: >-
                Splunk source to send events to. If not provided the default
                source for the Splunk collector is used.
            - title: Source
              description: >-
                Splunk source to send events to. If not provided the default
                source for the Splunk collector is used.
        source_type:
          allOf:
            - type: string
              nullable: true
              description: >-
                Splunk source type to send events to. If not provided the
                default source type for the Splunk collector is used.
            - title: Source Type
              description: >-
                Splunk source type to send events to. If not provided the
                default source type for the Splunk collector is used.
      required:
        - search_service_credential
        - search_service_url
    SIEM_SumoLogic:
      title: siem | Sumo Logic Cloud SIEM
      type: object
      description: >-
        Configuration for Sumo Logic Cloud SIEM.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/sumo-logic-setup)
      properties:
        auto_parse_logs:
          allOf:
            - type: boolean
              nullable: true
              description: Automatically parse logs as JSON when running log queries.
            - default: true
            - title: Auto Parse Logs
              description: Automatically parse logs as JSON when running log queries.
        collection_url:
          allOf:
            - $ref: '#/components/schemas/SumoLogicCollectionUrl'
              nullable: true
              description: >-
                Secure Sumo Logic Collection URL for writing events. If not
                provided, sending events to Sumo Logic is disabled.
            - title: Collection URL
              description: >-
                Secure Sumo Logic Collection URL for writing events. If not
                provided, sending events to Sumo Logic is disabled.
        credential:
          allOf:
            - $ref: '#/components/schemas/SumoLogicCredential'
            - title: Credential
        siem_logs_only:
          allOf:
            - type: boolean
              nullable: true
              description: >-
                Only query for logs that have been processed into the Sumo Logic
                Cloud SIEM app.
            - default: false
            - title: SIEM Logs Only
              description: >-
                Only query for logs that have been processed into the Sumo Logic
                Cloud SIEM app.
        url:
          allOf:
            - type: string
              description: >-
                Base URL for the Sumo Logic API.

                [Sumo Logic endpoints by deployment and firewall
                security](https://help.sumologic.com/docs/api/getting-started/#sumo-logic-endpoints-by-deployment-and-firewall-security).
            - pattern: ^https?:.+$
              format: uri
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: >-
                Base URL for the Sumo Logic API.

                [Sumo Logic endpoints by deployment and firewall
                security](https://help.sumologic.com/docs/api/getting-started/#sumo-logic-endpoints-by-deployment-and-firewall-security).
      required:
        - credential
        - url
    SentinelCredential:
      title: Sentinel Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: >
                Client credentials for authenticating with Microsoft Sentinel.

                The application registration must have appropriate permissions
                to read

                and write to Microsoft Sentinel. Required permissions:


                - `Microsoft.OperationalInsights/workspaces/read`

                - `Microsoft.OperationalInsights/workspaces/write`

                - `Microsoft.SecurityInsights/dataConnectors/*`
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: SentinelCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: SentinelCredential
    SentinelOneCredential:
      title: Sentinel One Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new API Token.
          required:
            - type
          title: New API Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: SentinelOneCredential
        - description: Reference to existing API Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: SentinelOneCredential
    SentinelOneEdrEventsCredential:
      title: Sentinel One Edr Events Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Token.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: SentinelOneEdrEventsCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: SentinelOneEdrEventsCredential
    ServiceNowCredential:
      title: Service Now Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: >-
                Username and secret used to authenticate with ServiceNow. The
                password can be a [generated
                token](https://docs.servicenow.com/bundle/vancouver-platform-administration/page/administer/users-and-groups/task/t_CreateAUser.html).
                The token receives the same permissions as the user that
                generated it, so they must have access to the necessary
                projects.
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: ServiceNowCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: ServiceNowCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: >-
                Token used to authenticate with ServiceNow. This token will be
                used with the authentication header `x-sn-apikey`. To use token
                authentication, the version of ServiceNow must be `Washington
                D.C.` or later.
          required:
            - type
          title: New Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: ServiceNowCredential
        - description: Reference to existing Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: ServiceNowCredential
    SevcoCredential:
      title: Sevco Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: >-
                This credential must be an API Secret Key. Generate this key in
                the UI console. For more details, see the [Creating an API
                Key](https://docs.sev.co/docs/using-the-api#creating-an-api-key).
          required:
            - type
          title: New Sevco API Secret Key
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: SevcoCredential
        - description: Reference to existing Sevco API Secret Key.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Sevco API Secret Key
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: SevcoCredential
    Sink_AwsS3:
      title: sink | Amazon S3
      type: object
      description: >-
        Configuration for Amazon S3 as a Sink provider. Events are written
        directly to an AWS S3 bucket in compressed JSON format.
      properties:
        bucket:
          allOf:
            - type: string
              description: Name of the Amazon S3 bucket
            - title: Bucket
              description: Name of the Amazon S3 bucket
        credential:
          allOf:
            - $ref: '#/components/schemas/AwsProviderCredential'
              description: AWS credentials with write access to the configured S3 bucket.
            - title: Credential
              description: AWS credentials with write access to the configured S3 bucket.
        path:
          allOf:
            - type: string
              description: Files will be written under this path.
            - title: Path
              description: Files will be written under this path.
        region:
          allOf:
            - $ref: '#/components/schemas/AwsRegion'
              description: AWS Region where the S3 bucket is located.
            - title: AWS Region
              description: AWS Region where the S3 bucket is located.
      required:
        - bucket
        - credential
        - path
        - region
    Sink_AwsSQS:
      title: sink | Amazon SQS
      type: object
      description: >-
        Configuration for Amazon Simple Queue Service (SQS).


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/aws-sqs-sink-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/AwsProviderCredential'
              description: AWS credentials with write access to the configured SQS queue.
            - title: Credential
              description: AWS credentials with write access to the configured SQS queue.
        region:
          allOf:
            - type: string
              nullable: true
              description: >-
                Overrides the default AWS region. If not present, the region
                will be inferred from the URL.
            - title: Region
              description: >-
                Overrides the default AWS region. If not present, the region
                will be inferred from the URL.
        url:
          allOf:
            - type: string
              description: URL of the SQS queue where events are sent.
            - pattern: https://sqs..+?.amazonaws.com_.+?/.+?
              x-validation-message:
                patternMismatch: >-
                  Must match the format
                  `https://sqs.{region}.amazonaws.com_{account_id}/{queue_name}`.
            - title: Queue URL
              description: URL of the SQS queue where events are sent.
      required:
        - credential
        - url
    Sink_AwsSecurityLake:
      title: sink | Amazon Security Lake
      type: object
      description: >-
        Configuration for Amazon Security Lake as a Sink provider. Events are
        written directly to an AWS S3 bucket in Apache Parquet format.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/amazon-security-lake-sink-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/AwsProviderCredential'
              description: AWS credentials with write access to the configured S3 bucket.
            - title: Credential
              description: AWS credentials with write access to the configured S3 bucket.
        region:
          allOf:
            - type: string
              nullable: true
              description: >-
                Override the default AWS region for this integration. If not
                present, the region will be inferred from the URL.
            - title: Region
              description: >-
                Override the default AWS region for this integration. If not
                present, the region will be inferred from the URL.
        url:
          allOf:
            - type: string
              description: >-
                URL of the S3 bucket where the Amazon Security Lake events are
                stored.
            - format: uri
            - title: URL
              description: >-
                URL of the S3 bucket where the Amazon Security Lake events are
                stored.
      required:
        - credential
        - url
    Sink_AzureBlob:
      title: sink | Microsoft Azure Blob Storage
      type: object
      description: >-
        Configuration for Azure Blob Storage as a Sink provider. Events are
        written directly to an Azure Blob Storage container in compressed JSON
        format.
      properties:
        bucket:
          allOf:
            - type: string
              description: Name of the Azure Blob Storage container
            - title: Container
              description: Name of the Azure Blob Storage container
        credential:
          allOf:
            - $ref: '#/components/schemas/AzureBlobCredential'
              description: Azure token with write access to the configured blob container.
            - title: Credential
              description: Azure token with write access to the configured blob container.
        path:
          allOf:
            - type: string
              description: Files will be written under this path.
            - title: Path
              description: Files will be written under this path.
      required:
        - bucket
        - credential
        - path
    Sink_AzureMonitorLogs:
      title: sink | Microsoft Azure Monitor Logs
      type: object
      description: >-
        Configuration for Azure Monitor Logs as a Sink Provider. Azure Monitor
        Logs is a feature of Azure Monitor that collects and organizes log and
        performance data from monitored resources.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/azure-monitor-logs)
      properties:
        client_id:
          allOf:
            - type: string
              description: Azure Client (Application) ID.
            - title: Client ID
              description: Azure Client (Application) ID.
        credential:
          allOf:
            - $ref: '#/components/schemas/AzureMonitorLogsCredential'
              description: >-
                Credential with access to the configured data collection
                endpoint.
            - title: Credential
              description: >-
                Credential with access to the configured data collection
                endpoint.
        rule_id:
          allOf:
            - type: string
              description: Data collection rule immutable ID.
            - title: Rule ID
              description: Data collection rule immutable ID.
        stream_name:
          allOf:
            - type: string
              description: Name of the data collection rule stream.
            - title: Stream Name
              description: Name of the data collection rule stream.
        tenant_id:
          allOf:
            - type: string
              description: Azure Directory (tenant) ID.
            - title: Tenant ID
              description: Azure Directory (tenant) ID.
        url:
          allOf:
            - type: string
              description: URL of the Azure data collection endpoint.
            - title: Collection URL
              description: URL of the Azure data collection endpoint.
      required:
        - client_id
        - credential
        - rule_id
        - stream_name
        - tenant_id
        - url
    Sink_CrowdstrikeHEC:
      title: sink | CrowdStrike Next-Gen SIEM (HEC)
      type: object
      description: >-
        Configuration for CrowdStrike Falcon® Next-Gen SIEM (HEC).


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/crowdstrike-sink-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/CrowdstrikeHECCredential'
            - title: API Key
        url:
          allOf:
            - type: string
              description: HTTPS URL for the CrowdStrike HTTP Event Collector (HEC) API.
            - pattern: ^https?:.+$
              format: uri
              example: >-
                https://<some-guid>.ingest.us-2.crowdstrike.com/services/collector
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: HEC URL
              description: HTTPS URL for the CrowdStrike HTTP Event Collector (HEC) API.
      required:
        - credential
        - url
    Sink_Elasticsearch:
      title: sink | Elasticsearch
      type: object
      description: >-
        Configuration for Elasticsearch.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/elastic-setup)
      properties:
        auth_options:
          allOf:
            - $ref: '#/components/schemas/ElasticsearchAuthOptions'
              nullable: true
            - title: Authentication Options
        create_index:
          allOf:
            - type: string
              description: The index or data stream to use when writing events.
            - title: Create Index
              description: The index or data stream to use when writing events.
        credential:
          allOf:
            - $ref: '#/components/schemas/ElasticsearchCredential'
            - title: Credential
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: >-
                When true, skips verification of the Elasticsearch TLS
                certificate.
            - default: false
            - title: Skip TLS Verification
              description: >-
                When true, skips verification of the Elasticsearch TLS
                certificate.
        url:
          allOf:
            - type: string
              description: Base URL for the Elasticsearch API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.elastic.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Elasticsearch API.
      required:
        - create_index
        - credential
        - url
    Sink_Gcs:
      title: sink | Google Cloud Storage
      type: object
      description: >-
        Configuration for Google Cloud Storage as a Sink provider. Events are
        written directly to a GCS bucket in compressed JSON format.
      properties:
        bucket:
          allOf:
            - type: string
              description: Name of the GCS bucket
            - title: Bucket
              description: Name of the GCS bucket
        credential:
          allOf:
            - $ref: '#/components/schemas/GCSJsonCredential'
              description: >-
                Google Cloud Service Account JSON key with write access to the
                configured GCS bucket
            - title: Credential
              description: >-
                Google Cloud Service Account JSON key with write access to the
                configured GCS bucket
        path:
          allOf:
            - type: string
              description: Files will be written under this path.
            - title: Path
              description: Files will be written under this path.
      required:
        - bucket
        - credential
        - path
    Sink_GoogleSecOps:
      title: sink | Google Security Operations
      type: object
      description: >-
        Configuration for Google Security Operations (formerly Google Chronicle)
        as a Sink Provider connecting via the older Malachite API.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/google-chronicle-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/GoogleChronicleCredential'
              description: Credentials used when writing events.
            - title: Credential
              description: Credentials used when writing events.
        customer_id:
          allOf:
            - type: string
              description: The customer ID reported when writing events.
            - title: Customer Id
              description: The customer ID reported when writing events.
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the Google SecOps Ingestion API.
            - pattern: ^https?:.+$
              format: uri
              default: https://malachiteingestion-pa.googleapis.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Ingestion API base URL
              description: Base URL for the Google SecOps Ingestion API.
      required:
        - credential
        - customer_id
    Sink_GoogleSecurityOperations:
      title: sink | Google Security Operations
      type: object
      description: >-
        Configuration for Google Security Operations (formerly Google Chronicle)
        as a Sink Provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/google-security-operations-sink-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/GoogleServiceAccountCredential'
              description: Credentials used for accessing the Google SecOps instance.
            - title: Credential
              description: Credentials used for accessing the Google SecOps instance.
        customer_id:
          allOf:
            - type: string
              description: The customer ID of the Google SecOps instance
            - title: Customer Id
              description: The customer ID of the Google SecOps instance
        project_id:
          allOf:
            - type: string
              description: The project ID of the Google SecOps instance.
            - title: Project Id
              description: The project ID of the Google SecOps instance.
        region:
          allOf:
            - type: string
              nullable: true
              description: The region of the Google SecOps instance. Usually `us` or `eu`.
            - default: us
            - title: Region
              description: The region of the Google SecOps instance. Usually `us` or `eu`.
        url:
          allOf:
            - type: string
              nullable: true
              description: The base URL for the Google SecOps API.
            - pattern: ^https?:.+$
              format: uri
              example: https://{region}-chronicle.googleapis.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: The base URL for the Google SecOps API.
      required:
        - credential
        - customer_id
        - project_id
    Sink_Http:
      title: sink | Generic HTTP Receiver
      type: object
      description: >-
        Generic Sink provider for sending events to any HTTP endpoint. Ideal for
        integrating with log aggregators, SIEM platforms, custom webhooks, data
        lakes, and any HTTP-based event ingestion system.
      properties:
        accepted_response_codes:
          allOf:
            - type: array
              items:
                type: integer
              nullable: true
              description: >-
                HTTP status codes that indicate successful event delivery.
                Defaults to standard success codes. Configure if receiving
                endpoint uses different response codes (e.g. `207
                Multi-Status`).
            - default:
                - 200
                - 201
                - 202
                - 204
            - title: Accepted Response Codes
              description: >-
                HTTP status codes that indicate successful event delivery.
                Defaults to standard success codes. Configure if receiving
                endpoint uses different response codes (e.g. `207
                Multi-Status`).
        authorization:
          allOf:
            - $ref: '#/components/schemas/HttpReceiverAuthConfig'
              nullable: true
              description: >-
                Configuration for authorizing requests with the receiving
                endpoint. Must be specified if the endpoint requires it. Can be
                combined with **Payload Signing** for defense-in-depth security.
            - title: Authorization
              description: >-
                Configuration for authorizing requests with the receiving
                endpoint. Must be specified if the endpoint requires it. Can be
                combined with **Payload Signing** for defense-in-depth security.
        http_method:
          allOf:
            - $ref: '#/components/schemas/HttpReceiverMethod'
              nullable: true
              description: HTTP method to use for sending events.
            - default: POST
            - title: HTTP Method
              description: HTTP method to use for sending events.
        request_body_format:
          allOf:
            - $ref: '#/components/schemas/HttpRequestBodyFormat'
              nullable: true
              description: >-
                Format for serializing events in the HTTP request body. Choose
                based on receiving endpoint requirements and performance needs.


                - `jsonl` - JSON Lines (newline-delimited JSON) where each event
                is a separate JSON object on its own line. Memory efficient for
                large batches, supports streaming.

                - `json_array` - Standard JSON array format - events wrapped in
                `[{...}, {...}]`. Simpler structure, easier debugging and
                testing.
            - default: jsonl
            - title: Request Body Format
              description: >-
                Format for serializing events in the HTTP request body. Choose
                based on receiving endpoint requirements and performance needs.

                - `jsonl` - JSON Lines (newline-delimited JSON) where each event
                is a separate JSON object on its own line. Memory efficient for
                large batches, supports streaming.

                - `json_array` - Standard JSON array format - events wrapped in
                `[{...}, {...}]`. Simpler structure, easier debugging and
                testing.
        signing_credential:
          allOf:
            - $ref: '#/components/schemas/HttpReceiverSigningCredential'
              nullable: true
              description: >-
                Enables payload signing, allowing the receiving endpoint to
                verify payload integrity and authenticity.
            - title: Payload Signing
              description: >-
                Enables payload signing, allowing the receiving endpoint to
                verify payload integrity and authenticity.
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: >-
                Disables TLS certification verification.

                **Warning:** this disables security checks and makes connections
                vulnerable to man-in-the-middle attacks.
            - default: false
            - title: Skip TLS Verification
              description: >-
                Disables TLS certification verification.

                **Warning:** this disables security checks and makes connections
                vulnerable to man-in-the-middle attacks.
        static_headers:
          allOf:
            - type: object
              additionalProperties:
                type: string
              nullable: true
              description: >-
                Additional HTTP headers to include on every request. Use for
                non-sensitive metadata like source system identifiers, API
                versioning, or custom routing headers that don't change per
                request.
            - title: Static Headers
              description: >-
                Additional HTTP headers to include on every request. Use for
                non-sensitive metadata like source system identifiers, API
                versioning, or custom routing headers that don't change per
                request.
        url:
          allOf:
            - type: string
              description: Receiving endpoint where events will be sent.
            - pattern: ^https?:.+$
              format: uri
              example: https://logs.example.com/api/v1/events
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Target URL
              description: Receiving endpoint where events will be sent.
      required:
        - url
    Sink_Mock:
      title: sink | Test Provider
      type: object
      description: >-
        Configuration for the Synqly mock in-memory Sink Provider. This provider
        is for testing purposes only and does not retain events pushed to it.
      properties:
        destination:
          allOf:
            - type: string
              nullable: true
              description: >-
                Name of the destination where events are stored. This field is
                unused and only used to demonstrate Provider configuration.
            - title: Destination
              description: >-
                Name of the destination where events are stored. This field is
                unused and only used to demonstrate Provider configuration.
    Sink_OpenSearch:
      title: sink | OpenSearch
      type: object
      description: >-
        Configuration for OpenSearch search and analytics engine. Supports both
        managed and self-hosted OpenSearch deployments
      properties:
        create_index:
          allOf:
            - type: string
              description: The index or data stream to use when writing events.
            - title: Write Index
              description: |
                The index or data stream to use when writing events.
        credential:
          allOf:
            - $ref: '#/components/schemas/OpenSearchCredential'
            - title: Credential
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: When true, skips verification of the OpenSearch TLS certificate.
            - default: false
            - title: Skip TLS Verification
              description: When true, skips verification of the OpenSearch TLS certificate.
        url:
          allOf:
            - type: string
              description: Base URL for the OpenSearch API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.elastic.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: |
                Base URL for the OpenSearch API.
      required:
        - create_index
        - credential
        - url
    Sink_Panther:
      title: sink | Panther SIEM
      type: object
      description: >-
        Configuration for Panther SIEM as a Sink Provider. Supports sending
        security events to Panther instances via HTTP ingestion.
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/PantherBearerCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: >-
                Webhook URL provided by your Panther HTTP source. This endpoint
                receives events for ingestion into your Panther instance.
            - pattern: ^https?:.+$
              format: uri
              example: https://your-panther-instance.com/public/v1/data
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Webhook URL
              description: >-
                Webhook URL provided by your Panther HTTP source. This endpoint
                receives events for ingestion into your Panther instance.
      required:
        - credential
        - url
    Sink_QRadar:
      title: sink | IBM QRadar Sink
      type: object
      description: >-
        Configuration for IBM QRadar Sink.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/qradar-sink-setup)
      properties:
        collection_port:
          allOf:
            - type: integer
              description: Port used by QRadar to accept incoming HTTP Receiver events.
            - title: Collection Port
              description: Port used by QRadar to accept incoming HTTP Receiver events.
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: >-
                When true, skips verification of the QRadar TLS certificate.
                This should only be used for testing purposes and is not
                recommended in production environments.
            - default: false
            - title: Skip TLS Verification
              description: >-
                When true, skips verification of the QRadar TLS certificate.
                This should only be used for testing purposes and is not
                recommended in production environments.
        url:
          allOf:
            - type: string
              description: Base URL for the QRadar API.
            - pattern: ^https?:.+$
              format: uri
              example: https://qradar.westus2.cloudapp.azure.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the QRadar API.
      required:
        - collection_port
        - url
    Sink_Splunk:
      title: sink | Splunk Enterprise Security
      type: object
      description: >-
        Configuration for Splunk as a Sink provider. Allows sending data to
        Splunk using an HTTP Event Collector (HEC).


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/splunk-setup)
      properties:
        hec_credential:
          allOf:
            - $ref: '#/components/schemas/SplunkHECToken'
              description: >-
                Credential to use when connecting to the Splunk HEC service. If
                not provided, sending events to Splunk is disabled.
            - title: HEC Token
              description: >-
                Credential to use when connecting to the Splunk HEC service. If
                not provided, sending events to Splunk is disabled.
        hec_url:
          allOf:
            - type: string
              description: >-
                URL for the Splunk HEC endpoint. Must include the full path to
                the HEC endpoint.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.cloud.splunk.com:8088/services_collector_event
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: HEC URL
              description: >-
                URL for the Splunk HEC endpoint. Must include the full path to
                the HEC endpoint.
        index:
          allOf:
            - type: string
              nullable: true
              description: >-
                Splunk index to send events to. If not provided, will use the
                default index for the Splunk collector.
            - title: Index
              description: >-
                Splunk index to send events to. If not provided, will use the
                default index for the Splunk collector.
        skip_tls_verify:
          allOf:
            - type: boolean
              nullable: true
              description: When true, skips verification of the Splunk TLS certificate.
            - default: false
            - title: Skip TLS Verification
              description: When true, skips verification of the Splunk TLS certificate.
        source:
          allOf:
            - type: string
              nullable: true
              description: >-
                Splunk source to send events to. If not provided the default
                source for the Splunk collector is used.
            - title: Source
              description: >-
                Splunk source to send events to. If not provided the default
                source for the Splunk collector is used.
        source_type:
          allOf:
            - type: string
              nullable: true
              description: >-
                Splunk source type to send events to. If not provided the
                default source type for the Splunk collector is used.
            - title: Source Type
              description: >-
                Splunk source type to send events to. If not provided the
                default source type for the Splunk collector is used.
      required:
        - hec_credential
        - hec_url
    Sink_SumoLogic:
      title: sink | Sumo Logic Sink
      type: object
      description: >-
        Configuration for Sumo Logic as a Sink provider. Allows sending data to
        Sumo Logic using a collection URL.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/sumo-logic-sink-setup)
      properties:
        collection_url:
          allOf:
            - $ref: '#/components/schemas/SumoLogicCollectionUrl'
              description: Sumo Logic Collection URL for writing events.
            - title: Collection URL
              description: Sumo Logic Collection URL for writing events.
      required:
        - collection_url
    SlackCredential:
      title: Slack Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties:
                secret:
                  title: Token
                  pattern: ^xoxb-.+$
                  x-validation-message:
                    patternMismatch: Bot token must start with `xoxb-`.
              description: >-
                Follow [this guide to generate a bot
                token](https://api.slack.com/concepts/token-types#bot). The
                token must have access to the configured channel.
          required:
            - type
          title: New Bot Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: SlackCredential
        - description: Reference to existing Bot Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Bot Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: SlackCredential
    SlackWebhookCredential:
      title: Slack Webhook Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - secret
                  type: string
              type: object
            - $ref: '#/components/schemas/SecretCredential'
            - type: object
              properties:
                secret:
                  title: Secret
                  pattern: ^https?:.+$
                  format: uri
                  x-validation-message:
                    patternMismatch: Must be a valid HTTP(S) URL.
              description: >-
                Slack Incoming Webhook URL. Use a Slack app with Incoming
                Webhooks enabled to generate the URL. See [configuration guide
                on Incoming Webhooks](https://api.slack.com/messaging/webhooks)
                for more detail.
          required:
            - type
          title: New Incoming Webhook URL
          type: object
          x-synqly-credential:
            extends: SecretCredential
            type: SlackWebhookCredential
        - description: Reference to existing Incoming Webhook URL.
          properties:
            type:
              enum:
                - secret_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `secret`. Must match the `id` of an existing `secret`,
                    referencing by `name` is not allowed.
          required:
            - type
          title: Existing Incoming Webhook URL
          type: object
          x-synqly-credential:
            extends: SecretCredentialId
            reference: true
            type: SlackWebhookCredential
    SnykCredential:
      title: Snyk Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: SnykCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: SnykCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new API Key Credentials.
          required:
            - type
          title: New API Key Credentials
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: SnykCredential
        - description: Reference to existing API Key Credentials.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Key Credentials
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: SnykCredential
    SnykRegion:
      title: SnykRegion
      type: string
      enum:
        - SNYK-US-01
        - SNYK-US-02
        - SNYK-EU-01
        - SNYK-AU-01
    SophosCredential:
      title: Sophos Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: SophosCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: SophosCredential
    SplunkHECToken:
      title: HEC Token
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Token used when connecting to the Splunk HEC Service.
          required:
            - type
          title: New HEC Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: SplunkHECToken
        - description: Reference to existing HEC Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing HEC Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: SplunkHECToken
    SplunkSearchCredential:
      title: Search Service Token
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Token used when connecting to the Splunk Search Service.
          required:
            - type
          title: New Search Service Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: SplunkSearchCredential
        - description: Reference to existing Search Service Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Search Service Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: SplunkSearchCredential
    Storage_AwsS3:
      title: storage | Amazon S3
      type: object
      description: >-
        Configuration for Amazon S3.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/aws-s3-storage-setup)
      properties:
        bucket:
          allOf:
            - type: string
              description: Name of the Amazon S3 bucket where files are stored.
            - title: Bucket
              description: Name of the Amazon S3 bucket where files are stored.
        credential:
          allOf:
            - $ref: '#/components/schemas/AwsProviderCredential'
              description: AWS credentials with write access to the configured S3 bucket.
            - title: Credential
              description: AWS credentials with write access to the configured S3 bucket.
        endpoint:
          allOf:
            - type: string
              nullable: true
              description: >-
                Endpoint used for connecting to Amazon S3 the external service.
                If not provided, the default Amazon S3 endpoint will be used.
            - title: Endpoint
              description: >-
                Endpoint used for connecting to Amazon S3 the external service.
                If not provided, the default Amazon S3 endpoint will be used.
        region:
          allOf:
            - type: string
              description: AWS region where the Amazon S3 bucket is located.
            - title: Region
              description: AWS region where the Amazon S3 bucket is located.
      required:
        - bucket
        - credential
        - region
    Storage_AzureBlob:
      title: storage | Azure Blob Storage
      type: object
      description: Configuration for Azure Blob Storage as a Storage Provider
      properties:
        bucket:
          allOf:
            - type: string
              description: Name of the blob container where files are stored.
            - title: Bucket
              description: Name of the blob container where files are stored.
        credential:
          allOf:
            - $ref: '#/components/schemas/AzureBlobCredential'
            - title: Credential
      required:
        - bucket
        - credential
    Storage_GCS:
      title: storage | Google Cloud Storage
      type: object
      description: >-
        Configuration for Google Cloud Storage for storing unstructured data


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/google-gcs-storage-setup)
      properties:
        bucket:
          allOf:
            - type: string
              description: Name of the bucket where files are stored.
            - title: Bucket
              description: Name of the bucket where files are stored.
        credential:
          allOf:
            - $ref: '#/components/schemas/GCSCredential'
            - title: Credential
        region:
          allOf:
            - type: string
              description: Google Cloud region where the bucket is located.
            - title: Region
              description: Google Cloud region where the bucket is located.
      required:
        - bucket
        - credential
        - region
    Storage_Mock:
      title: storage | Test Provider
      type: object
      description: >-
        Configuration for the Synqly mock in-memory storage Provider. This
        provider is for testing purposes only and does not retain files pushed
        to it.
      properties:
        bucket:
          allOf:
            - type: string
              description: Name of the bucket where files are stored.
            - title: Bucket
              description: Name of the bucket where files are stored.
      required:
        - bucket
    SumoLogicCollectionUrl:
      title: Sumo Logic Collection Url
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - secret
                  type: string
              type: object
            - $ref: '#/components/schemas/SecretCredential'
            - type: object
              properties:
                secret:
                  title: Collection URL
                  pattern: ^https?:.+$
                  format: uri
                  x-validation-message:
                    patternMismatch: Must be a valid HTTP(S) URL.
              description: Sumo Logic HTTP collection URL used to write events.
          required:
            - type
          title: New Secret
          type: object
          x-synqly-credential:
            extends: SecretCredential
            type: SumoLogicCollectionUrl
        - description: Reference to existing Secret.
          properties:
            type:
              enum:
                - secret_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `secret`. Must match the `id` of an existing `secret`,
                    referencing by `name` is not allowed.
          required:
            - type
          title: Existing Secret
          type: object
          x-synqly-credential:
            extends: SecretCredentialId
            reference: true
            type: SumoLogicCollectionUrl
    SumoLogicCredential:
      title: Sumo Logic Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties:
                secret:
                  title: Access Key
                  description: Access key secret.
                username:
                  title: Access ID
                  description: Access key identifier.
              description: Access ID and Access Key used to authenticate with Sumo Logic.
          required:
            - type
          title: New Access Keys
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: SumoLogicCredential
        - description: Reference to existing Access Keys.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Access Keys
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: SumoLogicCredential
    TaniumCloudCredential:
      title: Tanium Cloud Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties: {}
              description: Configuration when creating new API Token.
          required:
            - type
          title: New API Token
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: TaniumCloudCredential
        - description: Reference to existing API Token.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Token
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: TaniumCloudCredential
    TeamsCredential:
      title: Teams Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: >-
                OAuth 2.0 Client Credentials for an Azure App Registration. The
                application must be configured with permissions to access
                Microsoft Power Automate with user delegation.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: TeamsCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: TeamsCredential
        - allOf:
            - properties:
                type:
                  enum:
                    - webhook_url
                  type: string
              type: object
            - $ref: '#/components/schemas/SecretCredential'
            - type: object
              properties: {}
              description: Public Webhook URL used to authenticate with Teams.
          required:
            - type
          title: New Webhook URL
          type: object
          x-synqly-credential:
            extends: SecretCredential
            type: TeamsCredential
        - description: Reference to existing Webhook URL.
          properties:
            type:
              enum:
                - webhook_url_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `webhook_url`. Must match the `id` of an existing
                    `webhook_url`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Webhook URL
          type: object
          x-synqly-credential:
            extends: SecretCredentialId
            reference: true
            type: TeamsCredential
    TenableCloudCredential:
      title: Tenable Cloud Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - token
                  type: string
              type: object
            - $ref: '#/components/schemas/TokenCredential'
            - type: object
              properties:
                secret:
                  title: API Keys
                  pattern: ^accessKey=.+?;secretKey=.+?$
                  description: API Keys in the format `accessKey=<key>;secretKey=<secret>`.
                  x-validation-message:
                    patternMismatch: >-
                      Input must match the pattern:
                      `accessKey=<key>;secretKey=<secret>`
              description: Configuration when creating new API Keys.
          required:
            - type
          title: New API Keys
          type: object
          x-synqly-credential:
            extends: TokenCredential
            type: TenableCloudCredential
        - description: Reference to existing API Keys.
          properties:
            type:
              enum:
                - token_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `token`.
                    Must match the `id` of an existing `token`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing API Keys
          type: object
          x-synqly-credential:
            extends: TokenCredentialId
            reference: true
            type: TenableCloudCredential
    Ticketing_Autotask:
      title: ticketing | Autotask Operations Cloud
      type: object
      description: >-
        Configuration for Autotask Operations Cloud.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/autotask-ticketing-setup)
      properties:
        api_integration_code_credential:
          allOf:
            - $ref: '#/components/schemas/AutotaskApiIntegrationCodeCredential'
            - title: API Tracking ID
        default_issue_type:
          allOf:
            - type: integer
              nullable: true
              description: >-
                Default Issue Type (Ticket Category) for the integration. If
                provided, the issue_type field becomes optional in ticket
                creation requests. In Autotask, this corresponds to the Ticket
                Category ID.
            - title: Default Issue Type
              description: >-
                Default Issue Type (Ticket Category) for the integration. If
                provided, the issue_type field becomes optional in ticket
                creation requests. In Autotask, this corresponds to the Ticket
                Category ID.
        default_project:
          allOf:
            - type: integer
              nullable: true
              description: >-
                Default Project (Company ID) for the integration. If provided,
                the project field becomes optional in ticket creation requests.
                In Autotask, this corresponds to the Company ID associated with
                tickets.
            - title: Default Project
              description: >-
                Default Project (Company ID) for the integration. If provided,
                the project field becomes optional in ticket creation requests.
                In Autotask, this corresponds to the Company ID associated with
                tickets.
        secret_credential:
          allOf:
            - $ref: '#/components/schemas/AutotaskSecretCredential'
            - title: Credential
        user_name:
          allOf:
            - type: string
              description: >-
                User name of the API User created to authenticate with the
                Autotask API.
            - title: User Name
              description: >-
                User name of the API User created to authenticate with the
                Autotask API.
        zone_path:
          allOf:
            - type: string
              description: Zone for the Autotask API.
            - title: API Zone
              description: Zone for the Autotask API.
      required:
        - api_integration_code_credential
        - secret_credential
        - user_name
        - zone_path
    Ticketing_Freshdesk:
      title: ticketing | Freshdesk
      type: object
      description: >-
        Configuration for Freshdesk.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/freshdesk-ticketing-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/FreshdeskCredential'
            - title: Credential
        default_contact:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default contact email for ticket creation. If provided, the
                contact field becomes optional in ticket creation requests. If
                not provided, the contact field is required.
            - title: Default Contact Email
              description: >-
                Default contact email for ticket creation. If provided, the
                contact field becomes optional in ticket creation requests. If
                not provided, the contact field is required.
        default_type:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default issue type for ticket creation (e.g., "Incident",
                "Problem", "Question"). If provided, the type field becomes
                optional. If not provided, the type field is required.
            - title: Default Issue Type
              description: >-
                Default issue type for ticket creation (e.g., "Incident",
                "Problem", "Question"). If provided, the type field becomes
                optional. If not provided, the type field is required.
        url:
          allOf:
            - type: string
              description: Base URL to your Freshdesk tenant.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.freshdesk.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL to your Freshdesk tenant.
      required:
        - credential
        - url
    Ticketing_Ivanti:
      title: ticketing | Ivanti Neurons Ticketing
      type: object
      description: >-
        Configuration for the Ivanti Neurons Ticketing Provider


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/ivanti-ticketing-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/IvantiCredentialTicketing'
            - title: Credential
        url:
          allOf:
            - type: string
              description: >-
                Base URL for the Ivanti ITSM API. This should be the base URL
                for your Ivanti instance, without any path components.
            - pattern: ^https?:.+$
              format: uri
              example: https://your-instance.ivanticloud.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: >-
                Base URL for the Ivanti ITSM API. This should be the base URL
                for your Ivanti instance,  without any path components.
      required:
        - credential
        - url
    Ticketing_Ivanti_Mock:
      title: ticketing | [MOCK] Ivanti Neurons Ticketing
      type: object
      description: Configuration for a mocked Ivanti Neurons Ticketing Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/TicketingIvantiDataset'
            - title: Dataset
      required:
        - dataset
    Ticketing_Jira:
      title: ticketing | Atlassian Jira
      type: object
      description: >-
        Configuration for Atlassian Jira.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/jira-ticketing-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/JiraCredential'
            - title: Credential
        custom_field_mappings:
          allOf:
            - type: array
              items:
                $ref: '#/components/schemas/CustomFieldMapping'
              nullable: true
              description: Custom field mappings for this provider.
            - title: Custom Field Mappings
              description: Custom field mappings for this provider.
        default_issue_type:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default Issue Type for the integration. If provided, the
                issue_type field becomes optional in ticket creation requests.
            - title: Default Issue Type
              description: >-
                Default Issue Type for the integration. If provided, the
                issue_type field becomes optional in ticket creation requests.
        default_project:
          allOf:
            - type: string
              nullable: true
              description: Default Project for the integration.
            - title: Default Project
              description: Default Project for the integration.
        url:
          allOf:
            - type: string
              description: Base URL for the Jira API.
            - pattern: ^https?:.+$
              format: uri
              default: https://tenant.atlassian.net
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Jira API.
      required:
        - credential
        - url
    Ticketing_JiraServiceManagement:
      title: ticketing | Jira Service Management Configuration
      type: object
      description: >-
        Configuration for Jira Service Management.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/jira-service-management-ticketing-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/JiraCredential'
            - title: Credential
        custom_field_mappings:
          allOf:
            - type: array
              items:
                $ref: '#/components/schemas/CustomFieldMapping'
              nullable: true
              description: Custom field mappings for this provider.
            - title: Custom Field Mappings
              description: Custom field mappings for this provider.
        default_issue_type:
          allOf:
            - type: string
              nullable: true
              description: Default issue type when creating tickets.
            - title: Default Issue Type
              description: Default issue type when creating tickets.
        default_project:
          allOf:
            - type: string
              nullable: true
              description: Default project when listing, creating, or editing tickets.
            - title: Default Project
              description: Default project when listing, creating, or editing tickets.
        url:
          allOf:
            - type: string
              description: Base URL for the Jira Service Management API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.atlassian.net
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Jira Service Management API.
      required:
        - credential
        - url
    Ticketing_Mock:
      title: ticketing | Test Provider
      type: object
      description: >-
        Configuration for the Synqly mock in-memory ticketing Provider. This
        provider is for testing purposes only. It retains tickets for a limited
        time and does not persist them for long-term usage.
      properties:
        custom_field_mappings:
          allOf:
            - type: array
              items:
                $ref: '#/components/schemas/CustomFieldMapping'
              nullable: true
              description: Custom field mappings for this provider.
            - title: Custom Field Mappings
              description: Custom field mappings for this provider.
        name:
          allOf:
            - type: string
              nullable: true
              description: Optional name of the mock provider. This value is unused.
            - title: Name
              description: Optional name of the mock provider. This value is unused.
    Ticketing_PagerDuty:
      title: ticketing | PagerDuty Operations Cloud
      type: object
      description: >-
        Configuration for PagerDuty Operations Cloud.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/pagerduty-ticketing-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/PagerDutyCredential'
            - title: Credential
        default_creator:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default email address for the creator field. If provided, the
                creator field becomes optional for ticket and comment creation.
                If not provided, the creator field is required.
            - format: email
            - title: Default Creator Email
              description: >-
                Default email address for the creator field. If provided, the
                creator field becomes optional for ticket and comment creation.
                If not provided, the creator field is required.
        default_project:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default PagerDuty service ID for ticket creation. If provided,
                the project field becomes optional in ticket creation requests.
                If not provided, the project field is required.
            - title: Default Service/Project ID
              description: >-
                Default PagerDuty service ID for ticket creation. If provided,
                the project field becomes optional in ticket creation requests.
                If not provided, the project field is required.
        url:
          allOf:
            - type: string
              description: Base URL for the PagerDuty API.
            - pattern: ^https?:.+$
              format: uri
              default: https://api.pagerduty.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the PagerDuty API.
      required:
        - credential
        - url
    Ticketing_PagerDutyMock:
      title: ticketing | [MOCK] PagerDuty Operations Cloud
      type: object
      description: >-
        Configuration for [MOCK] PagerDuty Operations Cloud.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/pagerduty-ticketing-setup)
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/TicketingPagerdutyDataset'
            - title: Dataset
      required:
        - dataset
    Ticketing_ServiceNow:
      title: ticketing | ServiceNow ITSM
      type: object
      description: >-
        Configuration for ServiceNow IT Service Management (ITSM).


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/servicenow-ticketing-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/ServiceNowCredential'
            - title: Credential
        custom_field_mappings:
          allOf:
            - type: array
              items:
                $ref: '#/components/schemas/CustomFieldMapping'
              nullable: true
              description: Custom field mappings for this provider.
            - title: Custom Field Mappings
              description: Custom field mappings for this provider.
        default_issue_type:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default Issue Type for the integration. If provided, the
                issue_type field becomes optional in ticket creation requests.
            - title: Default Issue Type
              description: >-
                Default Issue Type for the integration. If provided, the
                issue_type field becomes optional in ticket creation requests.
        default_project:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default Project for the integration. This maps to the custom
                table for tickets. This table should be derived from Incident
                table. Defaults to the incident table if not specified.
            - title: Default Project
              description: >-
                Default Project for the integration. This maps to the custom
                table for tickets. This table should be derived from Incident
                table. Defaults to the incident table if not specified.
        url:
          allOf:
            - type: string
              description: Base URL for the ServiceNow API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.service-now.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the ServiceNow API.
      required:
        - credential
        - url
    Ticketing_ServiceNowSIR:
      title: ticketing | ServiceNow SIR
      type: object
      description: >-
        Configuration for ServiceNow Security Incident Response (SIR).


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/servicenow-ticketing-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/ServiceNowCredential'
            - title: Credential
        custom_field_mappings:
          allOf:
            - type: array
              items:
                $ref: '#/components/schemas/CustomFieldMapping'
              nullable: true
              description: Custom field mappings for this provider.
            - title: Custom Field Mappings
              description: Custom field mappings for this provider.
        default_creator:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default Creator (email) for the integration. If provided, the
                creator field becomes optional in ticket creation requests.
            - title: Default Creator
              description: >-
                Default Creator (email) for the integration. If provided, the
                creator field becomes optional in ticket creation requests.
        default_issue_type:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default Issue Type for the integration. If provided, the
                issue_type field becomes optional in ticket creation requests.
            - title: Default Issue Type
              description: >-
                Default Issue Type for the integration. If provided, the
                issue_type field becomes optional in ticket creation requests.
        default_project:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default Project for the integration. This maps to the custom
                table for tickets. This table should be derived from Security
                Incident table. Defaults to the security incident table if not
                specified.
            - title: Default Project
              description: >-
                Default Project for the integration. This maps to the custom
                table for tickets. This table should be derived from Security
                Incident table. Defaults to the security incident table if not
                specified.
        url:
          allOf:
            - type: string
              description: Base URL for the ServiceNow API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.service-now.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the ServiceNow API.
      required:
        - credential
        - url
    Ticketing_Torq:
      title: ticketing | Torq
      type: object
      description: >-
        Configuration for Torq.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/torq-ticketing-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/TorqCredential'
            - title: Credential
        custom_field_mappings:
          allOf:
            - type: array
              items:
                $ref: '#/components/schemas/CustomFieldMapping'
              nullable: true
              description: Custom field mappings for this provider.
            - title: Custom Field Mappings
              description: Custom field mappings for this provider.
        default_creator:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default Creator (email) for the integration. If provided, the
                creator field becomes optional in ticket creation requests.
            - title: Default Creator
              description: >-
                Default Creator (email) for the integration. If provided, the
                creator field becomes optional in ticket creation requests.
        default_issue_type:
          allOf:
            - type: string
              nullable: true
              description: >-
                Default Issue Type for the integration. If provided, the
                issue_type field becomes optional in ticket creation requests.
            - title: Default Issue Type
              description: >-
                Default Issue Type for the integration. If provided, the
                issue_type field becomes optional in ticket creation requests.
      required:
        - credential
    Ticketing_Zendesk:
      title: ticketing | Zendesk
      type: object
      description: Configuration for Zendesk as a Ticketing Provider
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/ZendeskCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for your Zendesk tenant.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.zendesk.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for your Zendesk tenant.
      required:
        - credential
        - url
    TicketingIvantiDataset:
      title: TicketingIvantiDataset
      type: string
      enum:
        - basic_v0
    TicketingPagerdutyDataset:
      title: TicketingPagerdutyDataset
      type: string
      enum:
        - basic_v0
    TorqCredential:
      title: Torq Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - o_auth_client
                  type: string
              type: object
            - $ref: '#/components/schemas/OAuthClientCredential'
            - type: object
              properties: {}
              description: Configuration when creating new Client Credentials.
          required:
            - type
          title: New Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredential
            type: TorqCredential
        - description: Reference to existing Client Credentials.
          properties:
            type:
              enum:
                - o_auth_client_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type
                    `o_auth_client`. Must match the `id` of an existing
                    `o_auth_client`, referencing by `name` is not allowed.
          required:
            - type
          title: Existing Client Credentials
          type: object
          x-synqly-credential:
            extends: OAuthClientCredentialId
            reference: true
            type: TorqCredential
    Vulnerabilities_AmazonInspector:
      title: vulnerabilities | Amazon Inspector
      type: object
      description: Configuration for Amazon Inspector as a vulnerabilities provider.
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/AwsProviderCredential'
              description: >-
                AWS credentials with access to [Amazon
                Inspector](https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html).
            - title: Credential
              description: >-
                AWS credentials with access to [Amazon
                Inspector](https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html).
        region:
          allOf:
            - $ref: '#/components/schemas/AwsRegion'
              description: >-
                The [AWS
                region](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html)
                to use when connecting to Amazon Inspector.
            - title: Region
              description: >-
                The [AWS
                region](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html)
                to use when connecting to Amazon Inspector.
      required:
        - credential
        - region
    Vulnerabilities_CrowdStrike:
      title: vulnerabilities | CrowdStrike Falcon® Spotlight
      type: object
      description: >-
        Configuration for CrowdStrike Falcon® Spotlight.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/crowdstrike-vulns-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/CrowdStrikeCredential'
              description: The credential to use for the CrowdStrike Falcon tenant.
            - title: Credential
              description: The credential to use for the CrowdStrike Falcon tenant.
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the CrowdStrike Falcon® Spotlight API.
            - pattern: ^https?:.+$
              format: uri
              default: https://api.crowdstrike.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the CrowdStrike Falcon® Spotlight API.
      required:
        - credential
    Vulnerabilities_CrowdStrike_Mock:
      title: vulnerabilities | [Mock] CrowdStrike Falcon® Spotlight
      type: object
      description: Configuration for [MOCK] CrowdStrike Falcon® Spotlight.
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/VulnerabilitiesCrowdStrikeDataset'
            - title: Dataset
      required:
        - dataset
    Vulnerabilities_Nucleus:
      title: vulnerabilities | Nucleus VM
      type: object
      description: >-
        Configuration for Nucleus Vulnerability Management.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/nucleus-vulns-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/NucleusCredential'
            - title: Credential
        project_id:
          allOf:
            - type: string
              description: Numeric identifier for a Nucleus project.
            - pattern: ^\d+$
              x-validation-message:
                patternMismatch: Must be a numeric project identifier.
            - title: Project ID
              description: Numeric identifier for a Nucleus project.
        url:
          allOf:
            - type: string
              description: Base URL for the Nucleus API.
            - example: https://{sandbox}.nucleussec.com
            - title: Base URL
              description: Base URL for the Nucleus API.
      required:
        - credential
        - project_id
        - url
    Vulnerabilities_QualysCloud:
      title: vulnerabilities | Qualys VMDR
      type: object
      description: >-
        Configuration for Qualys Vulnerability Management, Detection & Response
        (VMDR).


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/qualys-vulns-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/QualysCloudCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Qualys Cloud API.
            - pattern: ^https?:.+$
              format: uri
              example: https://qualysguard.qg4.apps.qualys.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Qualys Cloud API.
      required:
        - credential
        - url
    Vulnerabilities_QualysCloud_Mock:
      title: vulnerabilities | [MOCK] Qualys VMDR
      type: object
      description: >-
        Configuration for a mocked Qualys Cloud Platform as a Vulnerabilities
        Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/VulnerabilitiesQualysCloudDataset'
            - title: Dataset
      required:
        - dataset
    Vulnerabilities_Rapid7InsightCloud:
      title: vulnerabilities | Rapid7 InsightVM
      type: object
      description: >-
        Configuration for Rapid7 InsightVM.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/rapid7-vulns-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/Rapid7InsightCloudCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Rapid7 InsightVM API.
            - pattern: ^https?:.+$
              format: uri
              example: https://us2.api.insight.rapid7.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Rapid7 InsightVM API.
      required:
        - credential
        - url
    Vulnerabilities_Rapid7InsightCloud_Mock:
      title: vulnerabilities | [MOCK] Rapid7 InsightVM Cloud
      type: object
      description: >-
        Configuration for a mocked Rapid7 Insight Cloud as a Vulnerabilities
        Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/VulnerabilitiesRapid7InsightCloudDataset'
            - title: Dataset
      required:
        - dataset
    Vulnerabilities_ServiceNow:
      title: vulnerabilities | ServiceNow Vulnerability Response
      type: object
      description: Configuration for ServiceNow Vulnerability Response.
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/ServiceNowCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the ServiceNow API.
            - pattern: ^https?:.+$
              format: uri
              example: https://tenant.service-now.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the ServiceNow API.
      required:
        - credential
        - url
    Vulnerabilities_TaniumCloud:
      title: vulnerabilities | Tanium VM
      type: object
      description: >-
        Configuration for Tanium Vulnerability Management.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/tanium-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/TaniumCloudCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              description: Base URL for the Tanium Cloud API
            - pattern: ^https?:.+$
              format: uri
              example: https://{customername}-api.cloud.tanium.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Tanium Cloud API
      required:
        - credential
        - url
    Vulnerabilities_TaniumCloud_Mock:
      title: vulnerabilities | [MOCK] Tanium Vulnerability Management
      type: object
      description: Configuration for a mock Tanium Cloud as a Vulnerabilities Provider
      properties:
        dataset:
          allOf:
            - $ref: '#/components/schemas/VulnerabilitiesTaniumCloudDataset'
            - title: Dataset
      required:
        - dataset
    Vulnerabilities_TenableCloud:
      title: vulnerabilities | Tenable VM
      type: object
      description: >-
        Configuration for Tenable Vulnerability Management.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/tenable-vulns-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/TenableCloudCredential'
            - title: Credential
        url:
          allOf:
            - type: string
              nullable: true
              description: Base URL for the Tenable Cloud API.
            - pattern: ^https?:.+$
              format: uri
              default: https://cloud.tenable.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: Base URL for the Tenable Cloud API.
      required:
        - credential
    VulnerabilitiesCrowdStrikeDataset:
      title: VulnerabilitiesCrowdStrikeDataset
      type: string
      enum:
        - basic_v0
    VulnerabilitiesQualysCloudDataset:
      title: VulnerabilitiesQualysCloudDataset
      type: string
      enum:
        - basic_v0
    VulnerabilitiesRapid7InsightCloudDataset:
      title: VulnerabilitiesRapid7InsightCloudDataset
      type: string
      enum:
        - basic_v0
        - basic_v0_1
    VulnerabilitiesTaniumCloudDataset:
      title: VulnerabilitiesTaniumCloudDataset
      type: string
      enum:
        - basic_v0
    ZendeskCredential:
      title: Zendesk Credential
      oneOf:
        - allOf:
            - properties:
                type:
                  enum:
                    - basic
                  type: string
              type: object
            - $ref: '#/components/schemas/BasicCredential'
            - type: object
              properties: {}
              description: >-
                E-mail address and API Token for use with the Zendesk API. Use
                the e-mail address for the `username` field and API Token for
                the `secret` field. See [Zendesk API token generation
                documentation](https://developer.zendesk.com/api-reference/introduction/security-and-auth/#api-token)
                for more detail.
          required:
            - type
          title: New Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredential
            type: ZendeskCredential
        - description: Reference to existing Basic Credentials.
          properties:
            type:
              enum:
                - basic_id
              type: string
            value:
              allOf:
                - $ref: '#/components/schemas/Id'
                - description: >-
                    Unique identifier of an existing Credential of type `basic`.
                    Must match the `id` of an existing `basic`, referencing by
                    `name` is not allowed.
          required:
            - type
          title: Existing Basic Credentials
          type: object
          x-synqly-credential:
            extends: BasicCredentialId
            reference: true
            type: ZendeskCredential
    appsec_GitHub:
      title: appsec | GitHub
      type: object
      description: >-
        Configuration for GitHub as an application security provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/github-appsec-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/GitHubCredential'
              description: Credentials used for accessing the GitHub API.
            - title: Credential
              description: Credentials used for accessing the GitHub API.
        organization_slug:
          allOf:
            - type: string
              description: >-
                GitHub organization slug. This value can be found in the URL of
                the organization's GitHub page or by converting the organization
                display name to a slug. For example, if the organization display
                name is "My GitHub Organization" and the URL is
                "https://github.com/organizations/my-github-organization", the
                slug would be "my-github-organization".
            - title: Organization Slug
              description: >-
                GitHub organization slug. This value can be found in the URL of
                the organization's GitHub page or by converting the organization
                display name to a slug. For example, if the organization display
                name is "My GitHub Organization" and the URL is
                "https://github.com/organizations/my-github-organization", the
                slug would be "my-github-organization".
        url:
          allOf:
            - type: string
              description: >-
                Base URL for the GitHub environment. Only necessary with GitHub
                Enterprise Server deployments.
            - pattern: ^https?:.+$
              format: uri
              default: https://github.com
              example: https://your-github-instance.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: >-
                Base URL for the GitHub environment. Only necessary with GitHub
                Enterprise Server deployments.
      required:
        - credential
        - organization_slug
        - url
    appsec_GitLab:
      title: appsec | GitLab
      type: object
      description: >-
        Configuration for GitLab as an application security provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/gitlab-appsec-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/GitLabCredential'
              description: Credentials used for accessing the GitLab API.
            - title: Credential
              description: Credentials used for accessing the GitLab API.
        url:
          allOf:
            - type: string
              description: >-
                Base URL for the GitLab API. This URL should be the same as the
                URL used to access your GitLab instance.
            - pattern: ^https?:.+$
              format: uri
              default: https://gitlab.com
              example: https://your-gitlab-instance.com
              x-validation-message:
                patternMismatch: Must be a valid HTTP(S) URL.
            - title: Base URL
              description: >-
                Base URL for the GitLab API. This URL should be the same as the
                URL used to access your GitLab instance.
      required:
        - credential
        - url
    appsec_HCLAppScanOnCloud:
      title: appsec | HCL AppScan on Cloud
      type: object
      description: >-
        Configuration for HCL AppScan on Cloud as an application security
        provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/hcl-appscan-appsec-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/HCLAppScanOnCloudCredential'
              description: Credentials used for accessing the HCL AppScan on Cloud API.
            - title: Credential
              description: Credentials used for accessing the HCL AppScan on Cloud API.
        url:
          allOf:
            - $ref: '#/components/schemas/HCLAppScanOnCloudUrl'
              description: >-
                Base URL for the HCL AppScan on Cloud API. This URL should be
                the same as the URL used to access the HCL AppScan on Cloud web
                interface.
            - title: Base URL
              description: >-
                Base URL for the HCL AppScan on Cloud API. This URL should be
                the same as the URL used to access the HCL AppScan on Cloud web
                interface.
      required:
        - credential
        - url
    appsec_OpenTextApplicationSecurity:
      title: appsec | OpenText Application Security (On-Premise)
      type: object
      description: >-
        Configuration for OpenText Application Security (formerly Fortify
        Software Security Center) as an application security provider.


        **This provider is for on-premise installations of OpenText Application
        Security. For the SaaS product, please use the OpenText Core Application
        Security provider.**


        As this provider is for an on-premise only product, either a Synqly
        Bridge Agent must be used or the OpenText Application Security
        installation must be accessible from a public URL.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/opentext-applicationsecurity-appsec-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/OpenTextApplicationSecurityCredential'
              description: >-
                Credentials used for accessing the OpenText Application Security
                API.
            - title: Credential
              description: >-
                Credentials used for accessing the OpenText Application Security
                API.
        url:
          allOf:
            - type: string
              description: >-
                Base URL for the OpenText Application Security API. This URL
                should

                be the same as the URL used to access the OpenText Application

                Security web interface.


                **If a Synqly Bridge Agent is not used, this URL must be a
                publically accessible**


                For more information on using a Synqly Bridge Agent, see the
                [Synqly Bridge Agent
                documentation](https://docs.synqly.com/bridge/agent-setup).
            - title: Base URL
              description: >
                Base URL for the OpenText Application Security API. This URL
                should

                be the same as the URL used to access the OpenText Application

                Security web interface. 


                **If a Synqly Bridge Agent is not used, this URL must be a
                publically accessible**  


                For more information on using a Synqly Bridge Agent, see the
                [Synqly Bridge Agent
                documentation](https://docs.synqly.com/bridge/agent-setup).
      required:
        - credential
        - url
    appsec_OpenTextCoreApplicationSecurity:
      title: appsec | OpenText Core Application Security
      type: object
      description: >-
        Configuration for OpenText Core Application Security (formerly Fortify
        On Demand) as an application security provider.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/opentext-core-applicationsecurity-appsec-setup)
      properties:
        credential:
          allOf:
            - $ref: '#/components/schemas/OpenTextCoreApplicationSecurityCredential'
              description: >-
                Credentials used for accessing the OpenText Core Application
                Security API.
            - title: Credential
              description: >-
                Credentials used for accessing the OpenText Core Application
                Security API.
        url:
          allOf:
            - $ref: '#/components/schemas/OpenTextCoreApplicationSecurityUrl'
              description: >-
                Base URL for the OpenText Core Application Security API. This
                URL should be the same as the URL used to access the OpenText
                Core Application Security web interface.
            - title: Base URL
              description: >-
                Base URL for the OpenText Core Application Security API. This
                URL should be the same as the URL used to access the OpenText
                Core Application Security web interface.
      required:
        - credential
        - url
    appsec_OpenTextCoreApplicationSecurityMock:
      title: appsec | [MOCK] OpenText Core Application Security
      type: object
      description: >-
        Configuration for [MOCK] OpenText Core Application Security.


        [Configuration
        guide](https://docs.synqly.com/guides/provider-configuration/opentext-core-applicationsecurity-appsec-setup)
      properties:
        dataset:
          allOf:
            - $ref: >-
                #/components/schemas/AppsecOpentextCoreApplicationSecurityDataset
            - title: Dataset
      required:
        - dataset
    RoleId:
      title: RoleId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this Role
    RoleName:
      title: RoleName
      type: string
      description: Unique identifier for this Role
    AdhocRole:
      title: AdhocRole
      type: object
      properties:
        resources:
          $ref: '#/components/schemas/Resources'
        permission_set:
          $ref: '#/components/schemas/Permissions'
      required:
        - resources
        - permission_set
    RoleAccounts:
      title: RoleAccounts
      type: object
      properties:
        ids:
          type: array
          items:
            $ref: '#/components/schemas/Id'
          description: >-
            List of account ids that this role definition grants access to. Use
            "\*" to grant access to all account ids.
        labels:
          type: array
          items:
            type: string
          nullable: true
          description: >-
            List of account labels this role definition grants access to. If
            both labels and environments are specified both must pass
        environments:
          type: array
          items:
            $ref: '#/components/schemas/Environment'
          nullable: true
          description: >-
            Account environments this role definition grants access to. If both
            labels and environments are specified both must pass
      required:
        - ids
    RoleIntegrations:
      title: RoleIntegrations
      type: object
      properties:
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryId'
          description: >-
            List of categories ids that this role definition grants access to.
            Use "\*" to grant access to all category ids.
      required:
        - categories
    RoleOrganizations:
      title: RoleOrganizations
      type: object
      properties:
        ids:
          type: array
          items:
            $ref: '#/components/schemas/Id'
          description: >-
            List of organization ids that this role definition grants access to.
            Use "\*" to grant access to all organization ids.
        labels:
          type: array
          items:
            type: string
          nullable: true
          description: List of organization labels this role definition grants access to.
      required:
        - ids
    Resources:
      title: Resources
      type: object
      properties:
        organizations:
          $ref: '#/components/schemas/RoleOrganizations'
          nullable: true
        accounts:
          $ref: '#/components/schemas/RoleAccounts'
          nullable: true
        integrations:
          $ref: '#/components/schemas/RoleIntegrations'
          nullable: true
    RoleDefinition:
      title: RoleDefinition
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          description: Full name of role
        description:
          type: string
          nullable: true
          description: >-
            Description of the resources included in the role and permissions
            granted on those resources. Includes details of when to use this
            role along with the intended personas.
        resources:
          $ref: '#/components/schemas/Resources'
          nullable: true
          description: Selects the resources the permission set applies to.
        permission_set:
          $ref: '#/components/schemas/Permissions'
          description: Permission set for this role.
      required:
        - id
        - fullname
        - permission_set
      allOf:
        - $ref: '#/components/schemas/Base'
    ListRolesResponse:
      title: ListRolesResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/RoleDefinition'
      required:
        - result
    GetRoleResponse:
      title: GetRoleResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RoleDefinition'
      required:
        - result
    CreateRoleRequest:
      title: CreateRoleRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this Role (lowercase [a-z0-9_-], can be used
            in URLs). Also used for case insensitive duplicate name detection
            and default sort order. Defaults to RoleId if both name and fullname
            are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this Role, will auto-generate 'name'
            field (if 'name' is not specified). Defaults to the same value as
            the 'name' field if not specified.
        description:
          type: string
          nullable: true
          description: >-
            Description of the resources included in the role and permissions
            granted on those resources. Includes details of when to use this
            role along with the intended personas.
        resources:
          $ref: '#/components/schemas/Resources'
          nullable: true
          description: Selects the resources the permission set applies to.
        permission_set:
          $ref: '#/components/schemas/Permissions'
          description: Permission set for this role.
      required:
        - permission_set
    CreateRoleResponse:
      title: CreateRoleResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RoleDefinition'
      required:
        - result
    UpdateRoleRequest:
      title: UpdateRoleRequest
      $ref: '#/components/schemas/RoleDefinition'
    UpdateRoleResponse:
      title: UpdateRoleResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RoleDefinition'
      required:
        - result
    PatchRoleResponse:
      title: PatchRoleResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RoleDefinition'
      required:
        - result
    ListStatusOptions:
      title: ListStatusOptions
      type: string
      enum:
        - account
        - accounts
        - integration
        - integrations
        - all
    Status:
      title: Status
      type: object
      description: Status object
      properties:
        created_at:
          type: string
          format: date-time
          description: Time object was originally created
        updated_at:
          type: string
          format: date-time
          description: Last time object was updated
        account_id:
          $ref: '#/components/schemas/Id'
          description: >-
            Account associated with this status. Use the expand=accounts
            parameter with the List API to expand the Account to the full object
        account:
          $ref: '#/components/schemas/Account'
          nullable: true
          description: >-
            When using the expand option on the List API, the full account
            object is included in the response
        integration_id:
          $ref: '#/components/schemas/Id'
          description: >-
            Integration associated with this status. Use the expand=integrations
            parameter with the List API to expand the Integration to the full
            object
        integration:
          $ref: '#/components/schemas/Integration'
          nullable: true
          description: >-
            When using the expand option on the List API, the full integration
            object is included in the response
        status:
          type: string
          description: The current status of the notification.
        requests:
          type: integer
          format: int64
          description: Request count
        failed:
          type: integer
          format: int64
          description: Failed count
        cpu_time:
          type: integer
          format: int64
          description: Cpu time in microseconds
        db_ops:
          type: integer
          format: int64
          description: Database operations count
        api_ops:
          type: integer
          format: int64
          description: API operations count
        in_bytes:
          type: integer
          format: int64
          description: API input byte count
        out_bytes:
          type: integer
          format: int64
          description: API output byte count
      required:
        - created_at
        - updated_at
        - account_id
        - integration_id
        - status
        - requests
        - failed
        - cpu_time
        - db_ops
        - api_ops
        - in_bytes
        - out_bytes
    ListStatusResponse:
      title: ListStatusResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/Status'
      required:
        - result
    GetStatusResponse:
      title: GetStatusResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Status'
      required:
        - result
    StatusEvent:
      title: StatusEvent
      type: object
      description: Status event object
      properties:
        account_id:
          $ref: '#/components/schemas/Id'
          description: Account owner
        integration_id:
          $ref: '#/components/schemas/Id'
          description: Integration object
        created_at:
          type: string
          format: date-time
          description: Time created
        status:
          type: string
          description: The current status of the notification.
        error:
          type: string
          nullable: true
          description: Error message
        request:
          type: integer
          format: int64
          description: Request number
      required:
        - account_id
        - integration_id
        - created_at
        - status
        - request
    ListStatusEventsResponse:
      title: ListStatusEventsResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/StatusEvent'
      required:
        - result
    TimeseriesResult:
      title: TimeseriesResult
      type: object
      description: Status timeseries object
      properties:
        created_at:
          type: string
          format: date-time
          description: Interval time
        succeeded:
          type: integer
          format: int64
          description: Succeeded count
        failed:
          type: integer
          format: int64
          description: Failed count
        cpu_time:
          type: integer
          format: int64
          description: Cpu time in microseconds
        in_bytes:
          type: integer
          format: int64
          description: API input byte count
        out_bytes:
          type: integer
          format: int64
          description: API output byte count
      required:
        - created_at
        - succeeded
        - failed
        - cpu_time
        - in_bytes
        - out_bytes
    GetStatusTimeseriesResult:
      title: GetStatusTimeseriesResult
      type: object
      description: Status timeseries object
      properties:
        start_time:
          type: string
          format: date-time
          description: start time
        end_time:
          type: string
          format: date-time
          description: end time
        interval:
          type: string
          description: interval duration
        series:
          type: array
          items:
            $ref: '#/components/schemas/TimeseriesResult'
      required:
        - start_time
        - end_time
        - interval
        - series
    GetStatusTimeseries:
      title: GetStatusTimeseries
      type: object
      description: Get status last hour timeseries
      properties:
        result:
          $ref: '#/components/schemas/GetStatusTimeseriesResult'
      required:
        - result
    GetIntegrationTimeseriesResult:
      title: GetIntegrationTimeseriesResult
      $ref: '#/components/schemas/GetStatusTimeseriesResult'
    GetIntegrationTimeseries:
      title: GetIntegrationTimeseries
      type: object
      description: Get integration timeseries
      properties:
        result:
          $ref: '#/components/schemas/GetStatusTimeseriesResult'
      required:
        - result
    TokenId:
      title: TokenId
      $ref: '#/components/schemas/Id'
      description: Unique identifier for this Token
    TokenPair:
      title: TokenPair
      type: object
      properties:
        access:
          $ref: '#/components/schemas/Token'
          description: Access token contains the bearer secret
        refresh:
          $ref: '#/components/schemas/Token'
          description: Refresh token used for RefreshToken API
      required:
        - access
        - refresh
    Token:
      title: Token
      type: object
      properties:
        secret:
          type: string
          description: >-
            Secret value for the token; used for authentication when making
            requests.
        expires:
          type: string
          format: date-time
          description: Time when this token expires and can no longer be used again.
        permissions:
          $ref: '#/components/schemas/Permission'
          description: Permissions granted to this token.
        claims:
          type: object
          additionalProperties: true
          nullable: true
          description: Additional claims added to the token.
      required:
        - secret
        - expires
        - permissions
    TokenOwnerType:
      title: TokenOwnerType
      type: string
      enum:
        - organization
        - integration
    TokenType:
      title: TokenType
      type: string
      enum:
        - adhoc
        - logon
        - default
    RefreshToken:
      title: RefreshToken
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        fullname:
          type: string
          description: Human friendly display name for this account.
        member_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: Member Id
        owner_id:
          $ref: '#/components/schemas/Id'
          description: ID of the entity that owns this token
        owner_type:
          $ref: '#/components/schemas/TokenOwnerType'
          description: Type of the entity that owns this token
        expires:
          type: string
          format: date-time
          description: Time when this token expires and can no longer be used again.
        token_ttl:
          type: string
          description: Token time-to-live
        token_type:
          $ref: '#/components/schemas/TokenType'
          description: Type of token created
        primary:
          $ref: '#/components/schemas/TokenPair'
          description: Primary running access and refresh tokens
        secondary:
          $ref: '#/components/schemas/TokenPair'
          nullable: true
          description: Temporary secondary TokenPair created after a RefreshToken operation
      required:
        - id
        - fullname
        - owner_id
        - owner_type
        - expires
        - token_ttl
        - token_type
        - primary
      allOf:
        - $ref: '#/components/schemas/Base'
    CreateTokenRequest:
      title: CreateTokenRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique short name for this token (lowercase [a-z0-9_-], can be used
            in URLs). Also used for case insensitive duplicate name detection
            and default sort order. Defaults to TokenId if both name and
            fullname are not specified.
        fullname:
          type: string
          nullable: true
          description: >-
            Human friendly display name for this Token, will auto-generate
            'name' field (if 'name' is not specified). Defaults to the same
            value as the 'name' field if not specified.
        resources:
          $ref: '#/components/schemas/Resources'
          description: Limit access to supplied resources
        permission_set:
          $ref: '#/components/schemas/Permissions'
          description: Limit access to supplied permissions
        token_ttl:
          type: string
          nullable: true
          description: >-
            Token time-to-live. If not provided, defaults to 24 hours. Use the
            format "1h", "1m", "1s" for hours, minutes, and seconds
            respectively, e.g., "24h" for 24 hours.
      required:
        - resources
        - permission_set
    CreateTokenResponse:
      title: CreateTokenResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RefreshToken'
      required:
        - result
    CreateIntegrationTokenRequest:
      title: CreateIntegrationTokenRequest
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: >-
            Unique name token. If not provided, defaults to generated newly
            created refresh token id.
        token_ttl:
          type: string
          nullable: true
          description: >-
            Token time-to-live. If not provided, defaults to 10 minutes. Use the
            format "1h", "1m", "1s" for hours, minutes, and seconds
            respectively, e.g., "2h" for 2 hours.
    CreateMCPTokenRequest:
      title: CreateMCPTokenRequest
      type: object
      properties:
        token_ttl:
          type: string
          nullable: true
          description: >-
            Token time-to-live. If not provided, defaults to 1 hour. May be set
            to a maximum of 24 hours. Use the format "1h", "1m", "1s" for hours,
            minutes, and seconds respectively, e.g., "2h" for 2 hours.
        scope:
          $ref: '#/components/schemas/MCPTokenScope'
          description: |-
            Controls the tools that are available to the MCP server,
            and the APIs that can be accessed by the MCP server.
      required:
        - scope
    MCPTokenScope:
      title: MCPTokenScope
      oneOf:
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - management
            - $ref: '#/components/schemas/MCPManagementScopeOptions'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - integration-usage
            - $ref: '#/components/schemas/MCPIntegrationUsageScopeOptions'
          required:
            - type
        - type: object
          allOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - developer
            - $ref: '#/components/schemas/MCPDeveloperUsageScopeOptions'
          required:
            - type
    MCPManagementScopeOptions:
      title: MCPManagementScopeOptions
      type: object
      properties:
        environment:
          $ref: '#/components/schemas/Environment'
          nullable: true
          description: Optionally restrict access to a specific environment.
        account_id:
          $ref: '#/components/schemas/Id'
          nullable: true
          description: >-
            Optionally restrict access to a specific account. This is
            recommended for production use cases. If provided, this overrides
            any `environment` restriction.
    MCPIntegrationUsageScopeOptions:
      title: MCPIntegrationUsageScopeOptions
      type: object
      properties:
        account_id:
          $ref: '#/components/schemas/Id'
          description: >-
            Restrict integration usage to this account. By default, the MCP
            server

            will have access to all integrations within this account; this may
            be

            restricted to a specific set of tools using the

            `restrict_to_connector_operations` property.
        restrict_to_connector_operations:
          type: array
          items:
            $ref: '#/components/schemas/OperationId'
          nullable: true
          description: >-
            Optionally restrict access to the tools associated with the
            specified

            connector operations. If not specified, the MCP server will
            advertise

            all tools for this scope.
      required:
        - account_id
    MCPDeveloperUsageScopeOptions:
      title: MCPDeveloperUsageScopeOptions
      type: object
      properties:
        account_id:
          $ref: '#/components/schemas/Id'
          description: |-
            Restrict integration creation and usage to this account. The MCP
            will be given account-owner permissions for this account.
      required:
        - account_id
    CreateMCPTokenResponse:
      title: CreateMCPTokenResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Token'
      required:
        - result
    CreateIntegrationTokenResponse:
      title: CreateIntegrationTokenResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Token'
      required:
        - result
    CreateSynqlyIntegrationsTokenRequest:
      title: CreateSynqlyIntegrationsTokenRequest
      type: object
      properties:
        token_ttl:
          type: string
          nullable: true
          description: >-
            Token time-to-live. If not provided, defaults to 24 hours. Use the
            format "1h", "1m", "1s" for hours, minutes, and seconds
            respectively, e.g., "24h" for 24 hours.
    CreateSynqlyIntegrationsTokenResponse:
      title: CreateSynqlyIntegrationsTokenResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/SynqlyIntegrationsTokenResponse'
      required:
        - result
    SynqlyIntegrationsTokenResponse:
      title: SynqlyIntegrationsTokenResponse
      type: object
      properties:
        account_id:
          $ref: '#/components/schemas/Id'
        token:
          $ref: '#/components/schemas/RefreshToken'
      required:
        - account_id
        - token
    ListTokensResponse:
      title: ListTokensResponse
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/RefreshToken'
      required:
        - result
    GetTokenResponse:
      title: GetTokenResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RefreshToken'
      required:
        - result
    ResetTokenResponse:
      title: ResetTokenResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RefreshToken'
      required:
        - result
    RotateTokenResponse:
      title: RotateTokenResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RefreshToken'
      required:
        - result
    RefreshTokenResponse:
      title: RefreshTokenResponse
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RefreshToken'
      required:
        - result
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
servers:
  - url: https://api.synqly.com
    description: Synqly
x-readme:
  explorer-enabled: false
  samples-languages:
    - shell
    - go
tags:
  - name: Accounts
    x-displayName: Accounts
    description: >
      Accounts under your Organization are used to manage Integrations,
      Credentials, and other account specific resources. Accounts are secure
      containers and may be used to represent tenants in your system. Data is
      never shared across accounts.


      For more information on Accounts, see the [Synqly
      Overview](/guides/getting-started/overview).
    x-synqly-availability:
      status: generally-available
  - name: Audit
    x-displayName: Audit
  - name: Auth
    x-displayName: Auth
  - name: Bridges
    x-displayName: Bridges
  - name: Capabilities
    x-displayName: Capabilities
  - name: Credentials
    x-displayName: Credentials
  - name: IntegrationPoints
    x-displayName: Integration Points
    description: >
      An Integration Point describes a class of Integrations, and lets you
      describe names, allowed providers and other configuration that should
      apply to integrations associated with the Integration Point.


      While an Integration can be created without associating it with an
      Integration Point, some Synqly features require the use of Integration
      Points, such as:


      * [Connect UI](https://synqly.com/synqly-connector-ui/)

      * Validating allowed providers

      * Custom data mapping (coming soon)


      Integration Points belong to the Organization, and can be associated with
      Integrations belonging to different Accounts.


      For more information on Integration Points, see the [Synqly
      Overview](/guides/getting-started/overview).
    x-synqly-availability:
      status: generally-available
  - name: Integrations
    x-displayName: Integrations
    description: >
      An Integration represents the connection to a specific Provider. Once
      configured, an Integration enables interaction with the target Provider
      via our unified and normalized [Connector
      APIs](/api-reference/connectors).


      Each Integration belongs to an
      [Account](/api-reference/management/accounts) and may be associated with
      an [Integration Point](/api-reference/management/integrationpoints) to
      provide additional features and configuration.


      For more information on Integrations, see the [Synqly
      Overview](/guides/getting-started/overview).
    x-synqly-availability:
      status: generally-available
  - name: Mappings
    x-displayName: Mappings (In Development)
    description: |
      {% admonition type="warning" name="In Development" %}
      This feature is actively being developed. Breaking changes should be
      expected.

      Please contact us before using this feature.
      {% /admonition %}
    x-synqly-availability:
      status: in-development
  - name: Members
    x-displayName: Members
  - name: Meta
    x-displayName: Meta
  - name: Operations
    x-displayName: Operations (In Development)
    description: |
      {% admonition type="warning" name="In Development" %}
      This feature is actively being developed. Breaking changes should be
      expected.

      Please contact us before using this feature.
      {% /admonition %}
    x-synqly-availability:
      status: in-development
  - name: OrganizationWebhooks
    x-displayName: Organization Webhooks
  - name: Organization
    x-displayName: Organization
  - name: Permissionset
    x-displayName: Permissionset
  - name: Roles
    x-displayName: Roles
  - name: Status
    x-displayName: Status
  - name: SubOrgs
    x-displayName: Sub Orgs
  - name: Tokens
    x-displayName: Tokens
    description: ''
    x-synqly-availability:
      status: generally-available
      operations:
        tokens_create_synqly_integrations_token: in-development
