> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload an XSD Schema

> Use this endpoint to upload an XSD schema file as multipart/form-data. The file must not exceed 1 MiB.



## OpenAPI

````yaml en/openapi/v3-current/flowker.yaml post /v1/xsd-schemas
openapi: 3.1.0
info:
  description: >-
    Complete API reference for Flowker workflow orchestration services including
    catalog management, workflow definitions, executor configurations, provider
    configurations, and workflow executions.
  title: Flowker API
  version: 1.2.0
servers:
  - url: https://flowker.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - name: Catalog API
    description: >-
      Browse built-in providers, executors, and triggers available in the
      Flowker catalog.
  - name: Workflows API
    description: >-
      Create, update, activate, deactivate, clone, and delete workflow
      definitions.
  - name: Executions API
    description: Start workflow executions and track their status and results.
  - name: Executor Configurations API
    description: >-
      List, inspect, update, and delete the executor configuration records a
      deployment holds.
  - name: Provider Configurations API
    description: >-
      Create, update, enable, and disable the provider configurations that
      workflow nodes call through.
  - name: Dashboard API
    description: >-
      Retrieve aggregated summaries of workflows and executions for operational
      dashboards.
  - name: Webhooks API
    description: >-
      Receive webhook callbacks from external systems to trigger workflow
      executions.
  - name: Schedule API
    description: >-
      Inspect a workflow's upcoming, skipped, and parked scheduled occurrences,
      and run or discard the parked ones.
  - name: Schema Registry API
    description: >-
      Publish global OpenAPI specification versions for native services and pin
      the version each tenant resolves against.
  - name: OpenAPI Schemas API
    description: >-
      Upload, inspect, and delete the tenant's external OpenAPI schemas, and
      derive the contract of a single operation.
  - name: XSD Schemas API
    description: >-
      Upload, inspect, and delete the tenant's XSD schemas used to validate XML
      webhook payloads.
paths:
  /v1/xsd-schemas:
    post:
      tags:
        - XSD Schemas API
      summary: Upload an XSD Schema
      description: >-
        Use this endpoint to upload an XSD schema file as multipart/form-data.
        The file must not exceed 1 MiB.
      operationId: createXSDSchema
      parameters:
        - description: >-
            Bearer token forwarded to the XSD validator sidecar for import
            resolution.
          in: header
          name: Authorization
          schema:
            description: >-
              Bearer token forwarded to the XSD validator sidecar for import
              resolution.
            type: string
      requestBody:
        content:
          multipart/form-data:
            encoding:
              file:
                contentType: application/octet-stream
              imports:
                contentType: text/plain
              name:
                contentType: text/plain
              version:
                contentType: text/plain
            schema:
              properties:
                file:
                  contentEncoding: binary
                  contentMediaType: application/octet-stream
                  description: XSD schema file.
                  format: binary
                  type: string
                imports:
                  description: Imported schema names (repeatable).
                  items:
                    type: string
                  type:
                    - array
                    - 'null'
                name:
                  description: Schema name.
                  type: string
                  example: pain-001
                version:
                  description: Schema version.
                  type: string
                  example: v1.0.0
              required:
                - file
                - name
                - version
              type: object
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XSDSchemaOutput'
          description: >-
            Indicates that the resource was successfully created and the
            operation was completed as expected.
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indicates that the request failed. The body is an RFC 9457 problem
            document.
components:
  schemas:
    XSDSchemaOutput:
      additionalProperties: false
      properties:
        byteSize:
          description: Size of the schema content in bytes.
          format: int64
          type: integer
          example: 4096
        contentHash:
          description: Hash of the schema content for integrity verification.
          type: string
          example: >-
            sha256:9f2c8b1a4d7e0f3c6b5a8d2e1f4c7b0a3d6e9f2c5b8a1d4e7f0c3b6a9d2e5f8c
        createdAt:
          description: Creation timestamp (RFC 3339).
          format: date-time
          type: string
          example: '2026-01-15T10:30:00Z'
        createdBy:
          description: Identity that uploaded the schema.
          type: string
          example: user@example.com
        id:
          description: XSD schema identifier.
          format: uuid
          type: string
          example: 018f3e2a-1c4d-7b9e-a1b2-c3d4e5f6a7b8
        imports:
          description: Namespaces imported/included by this schema.
          items:
            type: string
          type:
            - array
            - 'null'
          example:
            - urn:iso:std:iso:20022:tech:xsd:head.001.001.02
        name:
          description: Schema name.
          type: string
          example: pain.001
        targetNamespace:
          description: XSD targetNamespace declared by the schema.
          type: string
          example: urn:iso:std:iso:20022:tech:xsd:pain.001.001.09
        version:
          description: Schema version.
          type: string
          example: '1'
      required:
        - id
        - name
        - version
        - targetNamespace
        - contentHash
        - byteSize
        - imports
        - createdBy
        - createdAt
      type: object
    ErrorResponse:
      properties:
        code:
          description: Stable, machine-readable Flowker error code.
          example: FLK-0001
          type: string
        detail:
          description: >-
            Human-readable explanation of this occurrence. Responses with a
            status of 500 or above carry a fixed generic message.
          example: name is a required field
          type: string
        errors:
          description: Per-field entries for a request that failed validation.
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: URI reference identifying this specific occurrence.
          example: /v1/workflows
          format: uri
          type: string
        status:
          description: HTTP status code.
          example: 400
          type: integer
        title:
          description: >-
            Standard HTTP reason phrase for the status. It does not change per
            error code.
          example: Bad Request
          type: string
        type:
          description: >-
            URI reference identifying the error. Always the error catalog base
            followed by the code.
          example: https://errors.lerian.studio/v1/FLK-0001
          format: uri
          type: string
      type: object
    ErrorDetail:
      properties:
        location:
          description: Where the problem is, such as body.nodes or path.id.
          example: body.nodes
          type: string
        message:
          description: Description of the field-level problem.
          example: expected array length >= 1
          type: string
        value:
          description: The value that caused the error, when it is safe to echo.
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT bearer token issued by the identity provider. Send it in the
        Authorization header as `Bearer <token>`.

````