openapi: 3.2.0 info: title: Fusio Bundle API description: Self-Hosted API Management for Builders. version: '1' servers: - url: https://demo.fusio-project.org tags: - name: Bundle paths: /backend/bundle: get: tags: - Bundle description: Returns a paginated list of bundles operationId: backend.bundle.getAll parameters: - name: startIndex in: query required: false schema: type: integer - name: count in: query required: false schema: type: integer - name: search in: query required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Backend_BundleCollection' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.bundle summary: Backend bundle get all x-summary-source: derived post: tags: - Bundle description: Creates a new bundle operationId: backend.bundle.create requestBody: content: application/json: schema: $ref: '#/components/schemas/Backend_BundleCreate' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.bundle summary: Backend bundle create x-summary-source: derived /backend/bundle/{bundle_id}: parameters: - name: bundle_id in: path required: true schema: type: string get: tags: - Bundle description: Returns a specific bundle operationId: backend.bundle.get responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Backend_Bundle' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.bundle summary: Backend bundle get x-summary-source: derived put: tags: - Bundle description: Updates an existing bundle operationId: backend.bundle.update requestBody: content: application/json: schema: $ref: '#/components/schemas/Backend_BundleUpdate' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.bundle summary: Backend bundle update x-summary-source: derived delete: tags: - Bundle description: Deletes an existing bundle operationId: backend.bundle.delete responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.bundle summary: Backend bundle delete x-summary-source: derived /backend/bundle/{bundle_id}/publish: parameters: - name: bundle_id in: path required: true schema: type: string post: tags: - Bundle description: Publish an existing bundle to the marketplace operationId: backend.bundle.publish responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.bundle summary: Backend bundle publish x-summary-source: derived components: schemas: Common_Message: description: Common error message type: object properties: success: type: boolean message: type: string id: type: string Backend_Bundle: description: This object represents a bundle which contains action, schema, event, cronjob and trigger configurations from you local instance type: object properties: id: description: Unique identifier for the object type: integer name: description: Unique name of the object type: string version: description: Version of this bundle type: string icon: description: Icon to represent this bundle type: string summary: description: Short summary which explains the use case for this bundle type: string description: description: Long description how to use this bundle may also contains markdown syntax type: string cost: description: Optional a cost for this bundle type: integer config: $ref: '#/components/schemas/Backend_BundleConfig' Backend_BundleCollection: description: Base collection type: object properties: totalResults: type: integer startIndex: type: integer itemsPerPage: type: integer entry: type: array items: $ref: '#/components/schemas/Backend_Bundle' Backend_BundleCreate: $ref: '#/components/schemas/Backend_Bundle' Backend_BundleUpdate: $ref: '#/components/schemas/Backend_Bundle' Backend_BundleConfig: type: object additionalProperties: {} securitySchemes: app: type: oauth2 flows: clientCredentials: tokenUrl: https://demo.fusio-project.org/authorization/token refreshUrl: https://demo.fusio-project.org/authorization/token scopes: backend: '' backend.account: '' backend.action: '' backend.agent: '' backend.app: '' backend.audit: '' backend.backup: '' backend.bundle: '' backend.category: '' backend.config: '' backend.connection: '' backend.cronjob: '' backend.dashboard: '' backend.event: '' backend.firewall: '' backend.form: '' backend.generator: '' backend.identity: '' backend.log: '' backend.marketplace: '' backend.operation: '' backend.page: '' backend.plan: '' backend.rate: '' backend.role: '' backend.schema: '' backend.scope: '' backend.sdk: '' backend.specification: '' backend.statistic: '' backend.taxonomy: '' backend.tenant: '' backend.test: '' backend.token: '' backend.transaction: '' backend.trash: '' backend.trigger: '' backend.user: '' backend.webhook: '' authorizationCode: authorizationUrl: https://demo.fusio-project.org/authorization/authorize tokenUrl: https://demo.fusio-project.org/authorization/token refreshUrl: https://demo.fusio-project.org/authorization/token scopes: backend: '' backend.account: '' backend.action: '' backend.agent: '' backend.app: '' backend.audit: '' backend.backup: '' backend.bundle: '' backend.category: '' backend.config: '' backend.connection: '' backend.cronjob: '' backend.dashboard: '' backend.event: '' backend.firewall: '' backend.form: '' backend.generator: '' backend.identity: '' backend.log: '' backend.marketplace: '' backend.operation: '' backend.page: '' backend.plan: '' backend.rate: '' backend.role: '' backend.schema: '' backend.scope: '' backend.sdk: '' backend.specification: '' backend.statistic: '' backend.taxonomy: '' backend.tenant: '' backend.test: '' backend.token: '' backend.transaction: '' backend.trash: '' backend.trigger: '' backend.user: '' backend.webhook: ''