LeanIX synchronizationRuns API

The synchronizationRuns API from LeanIX — 13 operation(s) for synchronizationruns.

Operations 14

GET /synchronizationRuns #
POST /synchronizationRuns #
POST /synchronizationRuns/{id}/start #
GET /synchronizationRuns/{id}/progress #
POST /synchronizationRuns/{id}/stop #
GET /synchronizationRuns/{id}/status #
GET /synchronizationRuns/{id}/stats #
GET /synchronizationRuns/{id}/results #
GET /synchronizationRuns/{id}/resultsUrl #
GET /synchronizationRuns/{id}/warnings #
POST /synchronizationRuns/withConfig #
POST /synchronizationRuns/withUrlInput #
POST /synchronizationRuns/withExecutionGroupAndUrlInput #
POST /synchronizationRuns/withExecutionGroup #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/leanix-synchronizationruns-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

leanix-synchronizationruns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Integration configurations Synchronization Runs API
servers:
- url: /services/integration-api/v1
security:
- token: []
tags:
- name: synchronizationRuns
paths:
  /synchronizationRuns:
    get:
      description: Returns the status of all existing synchronization runs
      tags:
      - synchronizationRuns
      operationId: getSynchronizationRunsStatusList
      responses:
        '200':
          description: A list containing current status of all available synchronization runs
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatusResponse'
        '403':
          description: The user is not allowed to use this endpoint.
    post:
      description: Creates a synchronization run.
      tags:
      - synchronizationRuns
      operationId: createSynchronizationRun
      parameters:
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/testWithStart'
      responses:
        '200':
          description: Returns the ID of the new synchronization run.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatusResponse'
        '403':
          description: The user is not allowed to use this endpoint.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Input'
  /synchronizationRuns/{id}/start:
    post:
      description: Starts an existing but not yet started synchronization run
      tags:
      - synchronizationRuns
      operationId: startSynchronizationRun
      parameters:
      - $ref: '#/components/parameters/syncRunId'
      - $ref: '#/components/parameters/test'
      responses:
        '200':
          description: The synchronization run was successfully started and is now in progress
        '400':
          description: The synchronization run was already started earlier. It is not possible to start the same synchronization run twice.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: The user is not allowed to use this endpoint.
        '404':
          description: No synchronization run with the given id exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /synchronizationRuns/{id}/progress:
    get:
      description: Shows the progress of a synchronization run, it gives updated counters of the run level that is in execution.
      tags:
      - synchronizationRuns
      operationId: getSynchronizationRunProgress
      parameters:
      - $ref: '#/components/parameters/syncRunId'
      responses:
        '200':
          description: The synchronization run exists and progress information was searched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncRunInboundProgressReport'
        '403':
          description: The user is not allowed to use this endpoint.
        '404':
          description: No synchronization run with the given id exists.
  /synchronizationRuns/{id}/stop:
    post:
      description: Stops a running synchronization run
      tags:
      - synchronizationRuns
      operationId: stopSynchronizationRun
      parameters:
      - $ref: '#/components/parameters/syncRunId'
      responses:
        '200':
          description: The synchronization run was successfully stopped.
        '400':
          description: The synchronization is not yet pending or running. It is not possible to stop a synchronization that is not pending or running.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: The user is not allowed to use this endpoint.
        '404':
          description: No synchronization run with the given id exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /synchronizationRuns/{id}/status:
    get:
      description: Returns the status of an existing synchronization run
      tags:
      - synchronizationRuns
      operationId: getSynchronizationRunStatus
      parameters:
      - $ref: '#/components/parameters/syncRunId'
      responses:
        '200':
          description: Returns the status of an existing synchronization run.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '403':
          description: The user is not allowed to use this endpoint.
        '404':
          description: No synchronization run with the given id exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Warning'
  /synchronizationRuns/{id}/stats:
    get:
      description: Returns detailed statistics about the execution of a synchronization run
      tags:
      - synchronizationRuns
      operationId: getSynchronizationRunStats
      parameters:
      - $ref: '#/components/parameters/syncRunId'
      responses:
        '200':
          description: Returns an object with multiple entries based on the direction (inbound or outbound) of the synchronization run
          content:
            application/json:
              schema:
                type: object
        '403':
          description: The user is not allowed to use this endpoint.
  /synchronizationRuns/{id}/results:
    get:
      description: Returns the results of a finished synchronization run
      tags:
      - synchronizationRuns
      operationId: getSynchronizationRunResults
      parameters:
      - $ref: '#/components/parameters/syncRunId'
      responses:
        '200':
          description: Returns the results of a finished synchronization run.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeanIxDataInterchangeFormat'
        '204':
          description: This code is returned, when the inbound run has no LDIF to produce, or when the LDIF is not yet ready.
        '403':
          description: The user is not allowed to use this endpoint.
        '404':
          description: No synchronization run with the given id exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /synchronizationRuns/{id}/resultsUrl:
    get:
      description: Returns the url to the results of a finished synchronization run
      tags:
      - synchronizationRuns
      operationId: getSynchronizationRunResultsUrl
      parameters:
      - $ref: '#/components/parameters/syncRunId'
      responses:
        '200':
          description: Returns the url to the results of a finished synchronization run or in case the run exists but is not yet finished a null value for the url.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UrlContainer'
        '403':
          description: The user is not allowed to use this endpoint.
        '404':
          description: No synchronization run with the given id exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Warning'
  /synchronizationRuns/{id}/warnings:
    get:
      description: Returns the warnings of a synchronization run
      tags:
      - synchronizationRuns
      operationId: getSynchronizationRunWarnings
      parameters:
      - in: query
        name: offset
        description: The zero-based index of the first element to retrieve
        schema:
          type: integer
          default: 0
          minimum: 0
      - in: query
        name: limit
        description: The number of elements that should be retrieved
        schema:
          type: integer
          default: 100
          maximum: 100
          minimum: 1
      - $ref: '#/components/parameters/syncRunId'
      responses:
        '200':
          description: Returns the warnings of a synchronization run.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Warning'
        '403':
          description: The user is not allowed to use this endpoint.
        '400':
          description: The parameters offset and limit must satisfy the condition offset MOD limit == 0, or if the synchornisation does not have a SyncLog Id
  /synchronizationRuns/withConfig:
    post:
      description: 'Starts a new synchronization run using the processor configuration and input object provided in the request.

        >__Please do not use this endpoint for production use cases. It was built for testing configurations only.__'
      tags:
      - synchronizationRuns
      operationId: createSynchronizationRunWithConfig
      parameters:
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/testWithStart'
      responses:
        '200':
          description: Successful operation, the response contains the ID of the run.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SynchronizationRun'
        '403':
          description: The user is not allowed to use this endpoint.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InputWithProcessorConfig'
  /synchronizationRuns/withUrlInput:
    post:
      description: Starts a new synchronization run using a DataProvider information to obtain the LDIF input
      tags:
      - synchronizationRuns
      operationId: createSynchronizationRunWithUrlInput
      parameters:
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/testWithStart'
      responses:
        '200':
          description: Successful operation, the response contains the ID of the run and the processor configuration selected for the run.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SynchronizationRunWithConfiguration'
        '403':
          description: The user is not allowed to use this endpoint.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataProvider'
  /synchronizationRuns/withExecutionGroupAndUrlInput:
    post:
      description: Starts a new synchronization run using a DataProvider information to obtain the LDIF input, but choose a configuration based on execution group.
      tags:
      - synchronizationRuns
      operationId: createSynchronizationRunWithExecutionGroupAndUrlInput
      parameters:
      - in: query
        name: groupName
        description: The name of execution group
        schema:
          type: string
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/testWithStart'
      responses:
        '200':
          description: Successful operation, the response contains the ID of the run and the processor configuration selected for the run.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SynchronizationRunWithConfiguration'
        '403':
          description: The user is not allowed to use this endpoint.
        '404':
          description: There is no configuration matching with the execution group value
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataProvider'
  /synchronizationRuns/withExecutionGroup:
    post:
      description: Starts a new synchronization run using combined processor configuration within an execution group and input object provided in the request.
      tags:
      - synchronizationRuns
      operationId: createSynchronizationRunWithExecutionGroup
      parameters:
      - in: query
        name: groupName
        description: The name of execution group
        schema:
          type: string
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/testWithStart'
      responses:
        '200':
          description: Successful operation, the response contains the ID of the run.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SynchronizationRunWithConfiguration'
        '400':
          description: Execution group contains processor configurations that are incompatible (both 'processingDirection' and 'processingMode' must be the same).
        '404':
          description: No processor configuration is found for the given execution group.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Input'
components:
  schemas:
    Content:
      description: An object containing all necessary information about changes that are going to be made by the processors
      type: object
      required:
      - type
      - id
      - data
      properties:
        type:
          description: The type of content defined by this entry
          example: Deployment
          type: string
          readOnly: true
        id:
          description: The (External) ID that identifies the fact sheet
          example: 684c16bf-198c-11f9-9d08-926300573fbf
          type: string
          readOnly: true
        data:
          description: Processor specific fields that correspond to changes
          example:
            app: chartmuseum
            chart: chartmuseum-1.8.4
            heritage: Tiller
            name: chartmuseum-chartmuseum
            release: chartmuseum
            clusterName: leanix-westeurope-int-aks
          type: object
          readOnly: true
          additionalProperties:
            type: object
    InputWithProcessorConfig:
      type: object
      required:
      - input
      - processorConfiguration
      properties:
        input:
          description: The input that is processed
          readOnly: true
          $ref: '#/components/schemas/Input'
        processorConfiguration:
          description: The processors and variables that are required to process the input
          readOnly: true
          $ref: '#/components/schemas/ProcessorConfiguration'
    Warning:
      type: object
      properties:
        processor:
          description: The error message
          readOnly: true
          type: object
          $ref: '#/components/schemas/Processor'
        content:
          description: The content ID element from the LDIF that was processed when this warning was generated.
          readOnly: true
          type: string
        message:
          description: The error message
          readOnly: true
          type: string
        detail:
          description: Additional information to complement the error message
          readOnly: true
          type: string
        category:
          description: An internal category that identifies of processing category where the warning was originated.
          readOnly: true
          type: string
        status:
          description: An identifier of the type of alert. Possible values are WARNING, ERROR
          readOnly: true
          type: string
    SynchronizationRun:
      type: object
      properties:
        id:
          description: A unique ID to distinguish this LDIF instance from other LDIF instances
          readOnly: true
          type: string
    StatusResponse:
      type: object
      required:
      - id
      properties:
        id:
          description: The ID of the synchronization run
          readOnly: true
          type: string
        status:
          description: The status of the synchronization run
          type: string
          readOnly: true
          enum:
          - CREATED
          - SEQUENTIALIZED
          - PENDING
          - IN_PROGRESS
          - FINISHED
          - STOPPED
          - FAILED
        description:
          description: The optional description that was provided as part of the Input object.
          readOnly: true
          type: string
    UrlContainer:
      type: object
      description: Represent a container for the Url where the results can be downloaded.
      required:
      - url
      properties:
        url:
          description: URL for the content generated by a Synchronisation Run
          readOnly: true
          type: string
    ErrorResponse:
      type: object
      description: Error response with details in a list
      required:
      - errors
      properties:
        errors:
          description: A list of error details
          readOnly: true
          type: array
          items:
            type: string
    Processor:
      type: object
      properties:
        name:
          description: The name of the processor as defined by the processor configuration
          readOnly: true
          type: string
        index:
          description: An internal integer value used to identify the processor
          readOnly: true
          type: integer
    ProcessorConfiguration:
      type: object
      discriminator:
        propertyName: processingDirection
      required:
      - connectorType
      - connectorId
      - connectorVersion
      - processingDirection
      properties:
        connectorType:
          description: The type of connector that is used
          example: lxKubernetes
          type: string
        connectorId:
          description: The identifier of the connector instance
          example: Kub Dev-001
          type: string
        connectorVersion:
          description: The version of the connector that is expected to process this LDIF file
          example: 1.2.0
          type: string
        processingDirection:
          description: The data flow direction, could be [inbound, outbound]
          type: string
          example: inbound
        processingMode:
          description: The processing mode, could be [partial, full]
          type: string
          default: partial
          enum:
          - partial
          - full
        sequentialExecution:
          description: When set to true, all synchronizations runs processed by this processor configuration will be executed sequentially instead of in parallel.
          type: boolean
          default: false
    DataProvider:
      description: Definition of the provider which provides the inbound LDIF
      type: object
      properties:
        url:
          description: The url from which the inbound LDIF should be downloaded from
          type: string
          readOnly: true
        type:
          description: The type of storage provider. Use 'azureStorage' to optimize for Azure Storage, or null for other types.
          type: string
          readOnly: true
      example:
        url: https://...
        type: azureStorage
    LeanIxDataInterchangeFormat:
      description: Represents a LeanIX Data Interchange Format (LDIF)
      allOf:
      - $ref: '#/components/schemas/Input'
      - type: object
        required:
        - connectorType
        - connectorId
        - connectorVersion
        - lxVersion
        - processingDirection
        properties:
          connectorType:
            description: The type of connector that is used
            example: lxKubernetes
            type: string
            readOnly: true
            minLength: 0
            maxLength: 500
          connectorId:
            description: The identifier of the connector instance
            example: Kub Dev-001
            type: string
            readOnly: true
            minLength: 0
            maxLength: 500
          connectorVersion:
            description: The version of the connector that is expected to process this LDIF file
            example: 1.2.0
            type: string
            readOnly: true
            minLength: 0
            maxLength: 500
          lxVersion:
            description: The target API version
            example: 1.0.0
            type: string
            readOnly: true
            minLength: 0
            maxLength: 500
          lxWorkspace:
            description: The optional target workspace
            type: string
            readOnly: true
          description:
            description: A customer added, arbitrary description for any kind of grouping, notification or note purpose
            example: Imports kubernetes data into LeanIX
            type: string
            readOnly: true
            minLength: 0
            maxLength: 500
          processingDirection:
            description: The direction of the data flow
            type: string
          processingMode:
            description: Optional additional options to parse this LDIF request
            type: string
            default: partial
            readOnly: true
            enum:
            - partial
            - full
          chunkInformation:
            description: Optional information on the number of entries in this LDIF chunk. By default the LDIF is processed without the usage of chunks.
            readOnly: true
            $ref: '#/components/schemas/ChunkInformation'
          customFields:
            description: Global variables accessible from all data processors.
            type: object
            readOnly: true
            additionalProperties:
              type: object
          content:
            description: The list of content changes that are applied within this LDIF
            type: array
            readOnly: true
            items:
              $ref: '#/components/schemas/Content'
    ChunkInformation:
      type: object
      properties:
        firstDataObject:
          description: Index of the first data object in this chunk
          type: integer
          format: int64
          readOnly: true
          minimum: 0
        lastDataObject:
          description: Index of the last data object in this chunk
          type: integer
          format: int64
          readOnly: true
          minimum: 0
        maxDataObject:
          description: Index of the last data object over all chunks
          type: integer
          format: int64
          readOnly: true
          minimum: 0
    SyncRunInboundProgressReport:
      type: object
      properties:
        processedContentCount:
          description: Number of elements processed from content in the current run level for Inbound processing.
          type: integer
          example: 4872
        errorCount:
          description: Number of errors in the current run level, valid for Inbound
          type: integer
        graphQLRequestCount:
          description: Number of GraphQL request made to Pathfinder backend in the current run level, not applicable for Outbound
          type: integer
        runLevelIndex:
          description: Identifier of the run level being executed, valid only for Inbound processing.
          type: integer
          example: 2
        status:
          description: Status of the synchronization Job
          type: integer
          example: IN_PROGRESS
        contentsCount:
          description: Number of elements build in the output content. Valid for Outbound
          type: integer
        warningsCount:
          description: Number of warnings detected during Outbound processing
          type: integer
        itemsInScopeCount:
          description: Number of elements found in the Outbound Scope or the Scope of the processors
          type: integer
    Input:
      type: object
      discriminator:
        propertyName: processingDirection
      required:
      - connectorType
      - connectorId
      - connectorVersion
      - processingDirection
      properties:
        connectorType:
          description: The type of connector that is used
          example: lxKubernetes
          type: string
        connectorId:
          description: The identifier of the connector instance
          example: Kub Dev-001
          type: string
        connectorVersion:
          description: The version of the connector that is expected to process this LDIF file
          example: 1.2.0
          type: string
        processingDirection:
          description: The data flow direction, could be [inbound, outbound]
          type: string
          example: inbound
        processingMode:
          description: The processing mode, could be [partial, full]
          type: string
          default: partial
          enum:
          - partial
          - full
    SynchronizationRunWithConfiguration:
      type: object
      properties:
        id:
          description: A unique ID to distinguish this LDIF instance from other LDIF instances
          readOnly: true
          type: string
        processorConfiguration:
          description: The processor configuration associated with this synchronization run
          readOnly: true
          type: object
          $ref: '#/components/schemas/ProcessorConfiguration'
  parameters:
    test:
      name: test
      description: If true a dry run without any changes will be performed
      in: query
      required: false
      schema:
        type: boolean
        default: false
    start:
      name: start
      description: If true the created run will be enqueued to be started
      in: query
      required: false
      schema:
        type: boolean
        default: false
    testWithStart:
      name: test
      description: If true a dry run without any changes will be performed. This parameter requires the start parameter to be set to true as well
      in: query
      required: false
      schema:
        type: boolean
        default: false
    syncRunId:
      name: id
      description: The ID of the synchronization run
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    token:
      type: oauth2
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /services/mtm/v1/oauth2/token