Subversion Files API

File and directory content retrieval

OpenAPI Specification

svn-files-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SVN WebDAV HTTP Commits Files API
  description: Apache Subversion repository access via the WebDAV/DeltaV protocol served by mod_dav_svn. Clients perform version control operations — checkout, update, commit, log, diff, copy, delete — over standard HTTP/HTTPS using a combination of WebDAV methods (PROPFIND, REPORT, MKACTIVITY, CHECKOUT, MERGE) and standard HTTP methods (GET, PUT, DELETE, COPY, OPTIONS).
  version: 1.0.0
  contact:
    name: Apache Subversion
    url: https://subversion.apache.org/
    email: users@subversion.apache.org
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  x-logo:
    url: https://subversion.apache.org/images/svn-square.jpg
servers:
- url: https://svn.example.com/repos/{repository}
  description: Subversion repository served via mod_dav_svn
  variables:
    repository:
      default: myproject
      description: Repository name
security:
- basicAuth: []
tags:
- name: Files
  description: File and directory content retrieval
paths:
  /{path}:
    get:
      operationId: getFileOrDirectory
      summary: Get File or Directory
      description: 'Retrieve the content of a file or a directory listing at the given path in the HEAD revision (or the revision specified via Accept-Header or a DAV: header).'
      tags:
      - Files
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
        description: Path to the file or directory within the repository
      - name: p
        in: query
        schema:
          type: integer
        description: Peg revision number
      responses:
        '200':
          description: File content or directory listing
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
            text/html:
              schema:
                type: string
        '404':
          description: Path not found in the repository
  /{path}?p={rev}:
    get:
      operationId: getFileAtRevision
      summary: Get File at Specific Revision
      description: Retrieve file content or directory listing at a specific revision using the peg revision query parameter.
      tags:
      - Files
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      - name: p
        in: query
        required: true
        schema:
          type: integer
        description: Revision number
      responses:
        '200':
          description: File content at the specified revision
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication for SVN repository access
    digestAuth:
      type: http
      scheme: digest
      description: HTTP Digest authentication for SVN repository access