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

# The commit a release came from, and a zip of it

> Takes what reading the repo takes, and seeing the release: a Closed source or Private project's source is only for its org. The zip is the commit's files as git has them, made by Patch rather than sent by the release's creator, and kept for good. 404 for a release that came from no repo.



## OpenAPI

````yaml /api-reference/openapi.json get /projects/{owner}/{slug}/releases/{version}/source
openapi: 3.1.0
info:
  title: Patch API
  version: 1.0.0
  description: >-
    The public API behind patch.gg, the desktop app and pch. Changes within v1
    are additive only. Errors are { error: { code, message, details } }; branch
    on code.
servers:
  - url: https://patch.gg/api/v1
security: []
paths:
  /projects/{owner}/{slug}/releases/{version}/source:
    get:
      tags:
        - Repos
      summary: The commit a release came from, and a zip of it
      description: >-
        Takes what reading the repo takes, and seeing the release: a Closed
        source or Private project's source is only for its org. The zip is the
        commit's files as git has them, made by Patch rather than sent by the
        release's creator, and kept for good. 404 for a release that came from
        no repo.
      parameters:
        - schema:
            type: string
            example: patch
          required: true
          name: owner
          in: path
        - schema:
            type: string
            example: demo-mod
          required: true
          name: slug
          in: path
        - schema:
            type: string
            example: 0.1.0
          required: true
          name: version
          in: path
      responses:
        '200':
          description: Where it came from
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseSource'
        '308':
          description: Renamed; follow the Location header
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Not signed in
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: >-
            Too many requests: wait as long as `Retry-After` says
            (`retry_after_s` in `details`), then retry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ReleaseSource:
      type: object
      properties:
        commit:
          type: string
          description: The commit the release came from
        tag:
          type:
            - string
            - 'null'
          description: The git tag on it
        archive:
          type:
            - object
            - 'null'
          properties:
            status:
              type: string
              enum:
                - building
                - ready
                - failed
              description: >-
                building: on its way. ready: stored for good. failed: it
                couldn't be made, and Patch tries again a few times.
            format:
              type: string
              enum:
                - zip
            sha256:
              type:
                - string
                - 'null'
              description: Once it's ready
            size:
              type:
                - integer
                - 'null'
              description: Once it's ready
            url:
              type:
                - string
                - 'null'
              description: A link for 15 minutes, once it's ready
            expires_at:
              type:
                - string
                - 'null'
            error:
              type:
                - string
                - 'null'
              description: What went wrong the last time, for the project's org
          required:
            - status
            - format
            - sha256
            - size
            - url
            - expires_at
            - error
          description: >-
            A zip of the commit, as git has it: Git LFS files are their
            pointers, and .gitattributes changes nothing. Patch makes it on
            submit. Null where it hasn't been asked for.
      required:
        - commit
        - tag
        - archive
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: version_exists
            message:
              type: string
            details: {}
          required:
            - code
            - message
      required:
        - error

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.