--- swagger: "2.0" info: description: "The Syndesis Supported REST API connects to back-end services on the\ \ Syndesis and\n provides a single entry point for the 3rd\n\ \ party clients." version: "v1" title: "Syndesis Supported API" contact: name: "The Syndesis Community" url: "https://syndesis.io/" email: "syndesis@googlegroups.com" license: name: "Apache 2.0" url: "http://www.apache.org/licenses/LICENSE-2.0.html" basePath: "/api/v1" tags: - name: "extensions" - name: "integration-support" schemes: - "https" paths: /extensions: get: tags: - "extensions" operationId: "list" produces: - "application/json" parameters: - name: "sort" in: "query" description: "Sort the result list according to the given field value" required: false type: "string" - name: "direction" in: "query" description: "Sorting direction when a 'sort' field is provided. Can be 'asc'\ \ (ascending) or 'desc' (descending)" required: false type: "string" - name: "page" in: "query" description: "Page number to return" required: false type: "integer" default: 1 - name: "per_page" in: "query" description: "Number of records per page" required: false type: "integer" default: 20 - name: "query" in: "query" description: "The search query to filter results on" required: false type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/ListResultExtension" post: tags: - "extensions" operationId: "upload" consumes: - "multipart/form-data" produces: - "application/json" parameters: - name: "updatedId" in: "query" required: false type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/Extension" /extensions/validation: post: tags: - "extensions" operationId: "validate" consumes: - "application/json" produces: - "application/json" parameters: [] responses: 200: description: "All blocking validations pass" schema: $ref: "#/definitions/Violation" 400: description: "Found violations in validation" schema: $ref: "#/definitions/Violation" /extensions/{id}: get: tags: - "extensions" operationId: "get" produces: - "application/json" parameters: - name: "id" in: "path" required: true type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/WithId" delete: tags: - "extensions" operationId: "delete" consumes: - "application/json" parameters: - name: "id" in: "path" required: true type: "string" responses: default: description: "successful operation" /extensions/{id}/install: post: tags: - "extensions" operationId: "install" parameters: - name: "id" in: "path" required: true type: "string" responses: 200: description: "Installed" 400: description: "Found violations in validation" schema: $ref: "#/definitions/Violation" /extensions/{id}/integrations: get: tags: - "extensions" operationId: "integrations" parameters: - name: "id" in: "path" required: true type: "string" responses: 200: description: "successful operation" schema: type: "array" uniqueItems: true items: $ref: "#/definitions/ResourceIdentifier" /extensions/{id}/validation: post: tags: - "extensions" operationId: "validate" produces: - "application/json" parameters: - name: "id" in: "path" required: true type: "string" responses: 200: description: "All blocking validations pass" schema: $ref: "#/definitions/Violation" 400: description: "Found violations in validation" schema: $ref: "#/definitions/Violation" /integration-support/export.zip: get: tags: - "integration-support" operationId: "export" produces: - "application/octet-stream" parameters: - name: "id" in: "query" required: true type: "array" items: type: "string" collectionFormat: "multi" responses: 200: description: "successful operation" schema: $ref: "#/definitions/StreamingOutput" /integration-support/generate/pom.xml: post: tags: - "integration-support" operationId: "projectPom" consumes: - "application/json" produces: - "application/octet-stream" parameters: [] responses: 200: description: "successful operation" schema: type: "array" items: type: "string" format: "byte" /integration-support/import: post: tags: - "integration-support" operationId: "importIntegration" produces: - "application/json" parameters: [] responses: 200: description: "successful operation" schema: type: "object" additionalProperties: type: "array" items: $ref: "#/definitions/WithResourceId" /integration-support/overviews: get: tags: - "integration-support" operationId: "getOverviews" produces: - "application/json" parameters: [] responses: 200: description: "successful operation" schema: $ref: "#/definitions/ListResultIntegrationOverview" definitions: Action: type: "object" required: - "name" discriminator: "actionType" properties: id: type: "string" name: type: "string" description: type: "string" descriptor: $ref: "#/definitions/ActionDescriptor" tags: type: "array" uniqueItems: true items: type: "string" actionType: type: "string" pattern: type: "string" enum: - "From" - "Pipe" - "To" metadata: type: "object" additionalProperties: type: "string" ActionDescriptor: type: "object" properties: propertyDefinitionSteps: type: "array" items: $ref: "#/definitions/ActionDescriptorStep" inputDataShape: $ref: "#/definitions/DataShape" outputDataShape: $ref: "#/definitions/DataShape" ActionDescriptorStep: type: "object" required: - "name" properties: description: type: "string" name: type: "string" properties: type: "object" additionalProperties: $ref: "#/definitions/ConfigurationProperty" configuredProperties: type: "object" additionalProperties: type: "string" ActionsSummary: type: "object" properties: actionCountByTags: type: "object" additionalProperties: type: "integer" format: "int32" totalActions: type: "integer" format: "int32" ConfigurationProperty: type: "object" properties: javaType: type: "string" controlHint: type: "string" labelHint: type: "string" placeholder: type: "string" connectorValue: type: "string" relation: type: "array" items: $ref: "#/definitions/PropertyRelation" type: type: "string" defaultValue: type: "string" displayName: type: "string" label: type: "string" description: type: "string" generator: type: "string" deprecated: type: "boolean" group: type: "string" enum: type: "array" items: $ref: "#/definitions/PropertyValue" kind: type: "string" tags: type: "array" uniqueItems: true items: type: "string" order: $ref: "#/definitions/OptionalInt" Connection: type: "object" required: - "name" properties: id: type: "string" icon: type: "string" organizationId: type: "string" connector: $ref: "#/definitions/Connector" connectorId: type: "string" derived: type: "boolean" uses: $ref: "#/definitions/OptionalInt" options: type: "object" additionalProperties: type: "string" description: type: "string" lastUpdated: type: "string" format: "date-time" organization: $ref: "#/definitions/Organization" userId: type: "string" createdDate: type: "string" format: "date-time" tags: type: "array" uniqueItems: true items: type: "string" name: type: "string" configuredProperties: type: "object" additionalProperties: type: "string" metadata: type: "object" additionalProperties: type: "string" Connector: type: "object" required: - "actions" - "name" properties: icon: type: "string" connectorGroup: $ref: "#/definitions/ConnectorGroup" connectorGroupId: type: "string" componentScheme: type: "string" connectorFactory: type: "string" connectorCustomizers: type: "array" items: type: "string" actionsSummary: $ref: "#/definitions/ActionsSummary" uses: readOnly: true $ref: "#/definitions/OptionalInt" description: type: "string" id: type: "string" version: type: "integer" format: "int32" actions: type: "array" items: $ref: "#/definitions/ConnectorAction" tags: type: "array" uniqueItems: true items: type: "string" name: type: "string" properties: type: "object" additionalProperties: $ref: "#/definitions/ConfigurationProperty" configuredProperties: type: "object" additionalProperties: type: "string" dependencies: type: "array" items: $ref: "#/definitions/Dependency" metadata: type: "object" additionalProperties: type: "string" ConnectorAction: type: "object" required: - "name" properties: id: type: "string" name: type: "string" description: type: "string" descriptor: $ref: "#/definitions/ConnectorDescriptor" tags: type: "array" uniqueItems: true items: type: "string" actionType: type: "string" dependencies: type: "array" items: $ref: "#/definitions/Dependency" pattern: type: "string" enum: - "From" - "Pipe" - "To" metadata: type: "object" additionalProperties: type: "string" ConnectorDescriptor: type: "object" properties: componentScheme: type: "string" connectorFactory: type: "string" connectorCustomizers: type: "array" items: type: "string" connectorId: type: "string" camelConnectorPrefix: type: "string" camelConnectorGAV: type: "string" propertyDefinitionSteps: type: "array" items: $ref: "#/definitions/ActionDescriptorStep" inputDataShape: $ref: "#/definitions/DataShape" outputDataShape: $ref: "#/definitions/DataShape" configuredProperties: type: "object" additionalProperties: type: "string" split: $ref: "#/definitions/Split" ConnectorGroup: type: "object" required: - "name" properties: id: type: "string" name: type: "string" DataManager: type: "object" DataShape: type: "object" required: - "name" properties: exemplar: type: "array" items: type: "string" format: "byte" name: type: "string" type: type: "string" description: type: "string" metadata: type: "object" additionalProperties: type: "string" specification: type: "string" kind: type: "string" enum: - "ANY" - "JAVA" - "JSON_SCHEMA" - "JSON_INSTANCE" - "XML_SCHEMA" - "XML_INSTANCE" - "NONE" Dependency: type: "object" properties: id: type: "string" type: type: "string" enum: - "MAVEN" - "EXTENSION" - "EXTENSION_TAG" Environment: type: "object" required: - "name" properties: id: type: "string" name: type: "string" Extension: type: "object" required: - "actions" - "extensionType" - "name" - "schemaVersion" properties: schemaVersion: type: "string" name: type: "string" description: type: "string" icon: type: "string" extensionId: type: "string" version: type: "string" tags: type: "array" uniqueItems: true items: type: "string" actions: type: "array" items: $ref: "#/definitions/Action" dependencies: type: "array" items: $ref: "#/definitions/Dependency" uses: $ref: "#/definitions/OptionalInt" extensionType: type: "string" enum: - "Steps" - "Connectors" - "Libraries" lastUpdated: type: "string" format: "date-time" status: type: "string" enum: - "Draft" - "Installed" - "Deleted" userId: type: "string" createdDate: type: "string" format: "date-time" id: type: "string" properties: type: "object" additionalProperties: $ref: "#/definitions/ConfigurationProperty" configuredProperties: type: "object" additionalProperties: type: "string" metadata: type: "object" additionalProperties: type: "string" Flow: type: "object" required: - "name" properties: connections: type: "array" items: $ref: "#/definitions/Connection" scheduler: $ref: "#/definitions/Scheduler" description: type: "string" name: type: "string" id: type: "string" tags: type: "array" uniqueItems: true items: type: "string" steps: type: "array" items: $ref: "#/definitions/Step" metadata: type: "object" additionalProperties: type: "string" ImmutableConnectorAction: allOf: - $ref: "#/definitions/Action" - type: "object" required: - "name" properties: id: type: "string" readOnly: true name: type: "string" readOnly: true description: type: "string" readOnly: true descriptor: readOnly: true $ref: "#/definitions/ConnectorDescriptor" tags: type: "array" readOnly: true uniqueItems: true items: type: "string" actionType: type: "string" readOnly: true dependencies: type: "array" items: $ref: "#/definitions/Dependency" pattern: type: "string" readOnly: true enum: - "From" - "Pipe" - "To" metadata: type: "object" readOnly: true additionalProperties: type: "string" ImmutableStepAction: allOf: - $ref: "#/definitions/Action" - type: "object" required: - "name" properties: id: type: "string" readOnly: true name: type: "string" readOnly: true description: type: "string" readOnly: true descriptor: readOnly: true $ref: "#/definitions/StepDescriptor" tags: type: "array" readOnly: true uniqueItems: true items: type: "string" actionType: type: "string" readOnly: true pattern: type: "string" readOnly: true enum: - "From" - "Pipe" - "To" metadata: type: "object" readOnly: true additionalProperties: type: "string" Integration: type: "object" required: - "name" properties: id: type: "string" deleted: type: "boolean" flows: type: "array" items: $ref: "#/definitions/Flow" connections: type: "array" items: $ref: "#/definitions/Connection" description: type: "string" steps: type: "array" items: $ref: "#/definitions/Step" properties: type: "object" additionalProperties: $ref: "#/definitions/ConfigurationProperty" configuredProperties: type: "object" additionalProperties: type: "string" version: type: "integer" format: "int32" updatedAt: type: "integer" format: "int64" createdAt: type: "integer" format: "int64" tags: type: "array" uniqueItems: true items: type: "string" name: type: "string" resources: type: "array" items: $ref: "#/definitions/ResourceIdentifier" IntegrationBulletinBoard: type: "object" properties: targetResourceId: type: "string" notices: $ref: "#/definitions/OptionalInt" errors: $ref: "#/definitions/OptionalInt" warnings: $ref: "#/definitions/OptionalInt" id: type: "string" metadata: type: "object" additionalProperties: type: "string" messages: type: "array" items: $ref: "#/definitions/LeveledMessage" updatedAt: type: "integer" format: "int64" createdAt: type: "integer" format: "int64" IntegrationDeploymentOverview: type: "object" properties: stepsDone: type: "object" additionalProperties: type: "string" currentState: type: "string" enum: - "Published" - "Unpublished" - "Error" - "Pending" targetState: type: "string" enum: - "Published" - "Unpublished" - "Error" - "Pending" statusMessage: type: "string" userId: type: "string" id: type: "string" version: type: "integer" format: "int32" updatedAt: type: "integer" format: "int64" createdAt: type: "integer" format: "int64" IntegrationOverview: type: "object" required: - "name" properties: currentState: type: "string" enum: - "Published" - "Unpublished" - "Error" - "Pending" targetState: type: "string" enum: - "Published" - "Unpublished" - "Error" - "Pending" board: $ref: "#/definitions/IntegrationBulletinBoard" deploymentVersion: type: "integer" format: "int32" deployments: type: "array" items: $ref: "#/definitions/IntegrationDeploymentOverview" draft: type: "boolean" url: type: "string" id: type: "string" deleted: type: "boolean" flows: type: "array" items: $ref: "#/definitions/Flow" connections: type: "array" items: $ref: "#/definitions/Connection" description: type: "string" steps: type: "array" items: $ref: "#/definitions/Step" properties: type: "object" additionalProperties: $ref: "#/definitions/ConfigurationProperty" configuredProperties: type: "object" additionalProperties: type: "string" version: type: "integer" format: "int32" updatedAt: type: "integer" format: "int64" createdAt: type: "integer" format: "int64" tags: type: "array" uniqueItems: true items: type: "string" name: type: "string" resources: type: "array" items: $ref: "#/definitions/ResourceIdentifier" LeveledMessage: type: "object" properties: message: type: "string" level: type: "string" enum: - "INFO" - "WARN" - "ERROR" detail: type: "string" code: type: "string" enum: - "SYNDESIS000" - "SYNDESIS001" - "SYNDESIS002" - "SYNDESIS003" - "SYNDESIS004" - "SYNDESIS005" - "SYNDESIS006" - "SYNDESIS007" - "SYNDESIS008" - "SYNDESIS009" - "SYNDESIS010" - "SYNDESIS011" - "SYNDESIS012" metadata: type: "object" additionalProperties: type: "string" ListResult: type: "object" properties: items: type: "array" items: type: "object" totalCount: type: "integer" format: "int32" ListResultExtension: type: "object" properties: items: type: "array" items: $ref: "#/definitions/Extension" totalCount: type: "integer" format: "int32" ListResultIntegrationOverview: type: "object" properties: items: type: "array" items: $ref: "#/definitions/IntegrationOverview" totalCount: type: "integer" format: "int32" OptionalInt: type: "object" properties: present: type: "boolean" asInt: type: "integer" format: "int32" Organization: type: "object" required: - "name" properties: environments: type: "array" items: $ref: "#/definitions/Environment" users: type: "array" items: $ref: "#/definitions/User" id: type: "string" name: type: "string" PropertyRelation: type: "object" properties: action: type: "string" when: type: "array" items: $ref: "#/definitions/When" PropertyValue: type: "object" properties: value: type: "string" label: type: "string" ResourceIdentifier: type: "object" properties: version: type: "integer" format: "int32" kind: type: "string" enum: - "Action" - "Connection" - "ConnectionOverview" - "Connector" - "ConnectorAction" - "ConnectorGroup" - "ConnectorTemplate" - "Icon" - "Environment" - "EnvironmentType" - "Extension" - "StepAction" - "Organization" - "Integration" - "IntegrationOverview" - "IntegrationDeployment" - "IntegrationDeploymentStateDetails" - "IntegrationMetricsSummary" - "IntegrationRuntime" - "IntegrationEndpoint" - "Step" - "Permission" - "Role" - "User" - "ConnectionBulletinBoard" - "IntegrationBulletinBoard" - "OpenApi" id: type: "string" Scheduler: type: "object" properties: type: type: "string" enum: - "timer" - "cron" expression: type: "string" Split: type: "object" properties: language: type: "string" expression: type: "string" Step: type: "object" properties: connection: $ref: "#/definitions/Connection" stepKind: type: "string" enum: - "endpoint" - "connector" - "expressionFilter" - "ruleFilter" - "extension" - "mapper" - "split" - "log" - "headers" - "template" name: type: "string" extension: $ref: "#/definitions/Extension" action: $ref: "#/definitions/Action" id: type: "string" configuredProperties: type: "object" additionalProperties: type: "string" dependencies: type: "array" items: $ref: "#/definitions/Dependency" metadata: type: "object" additionalProperties: type: "string" StepDescriptor: type: "object" properties: entrypoint: type: "string" resource: type: "string" kind: type: "string" enum: - "STEP" - "BEAN" - "ENDPOINT" propertyDefinitionSteps: type: "array" items: $ref: "#/definitions/ActionDescriptorStep" inputDataShape: $ref: "#/definitions/DataShape" outputDataShape: $ref: "#/definitions/DataShape" StreamingOutput: type: "object" User: type: "object" properties: fullName: type: "string" organizationId: type: "string" integrations: type: "array" items: $ref: "#/definitions/Integration" name: type: "string" username: type: "string" firstName: type: "string" lastName: type: "string" roleId: type: "string" id: type: "string" Validator: type: "object" Violation: type: "object" When: type: "object" properties: value: type: "string" id: type: "string" WithId: type: "object" properties: id: type: "string" WithResourceId: type: "object" properties: id: type: "string"