> ## 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.

# A game's free covers allowance, and its latest covers jobs

> Free: Patch pays for this, and it costs the creator nothing, up to a game's allowance (12 takes and 4 fixes), once the game has a release (a draft is enough): Patch sponsors cover generation.



## OpenAPI

````yaml /api-reference/openapi.json get /projects/{owner}/{slug}/covers
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}/covers:
    get:
      tags:
        - Covers
      summary: A game's free covers allowance, and its latest covers jobs
      description: >-
        Free: Patch pays for this, and it costs the creator nothing, up to a
        game's allowance (12 takes and 4 fixes), once the game has a release (a
        draft is enough): Patch sponsors cover generation.
      parameters:
        - schema:
            type: string
            example: patch
          required: true
          name: owner
          in: path
        - schema:
            type: string
            example: demo-mod
          required: true
          name: slug
          in: path
      responses:
        '200':
          description: The allowance and jobs
          content:
            application/json:
              schema:
                type: object
                properties:
                  allowance:
                    $ref: '#/components/schemas/CoversAllowance'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CoversJob'
                required:
                  - allowance
                  - data
        '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'
      security:
        - bearer: []
components:
  schemas:
    CoversAllowance:
      type: object
      properties:
        free:
          type: boolean
          enum:
            - true
        note:
          type: string
          description: >-
            Plain words for people and agents: Patch pays, and it costs the
            creator nothing
        takes_per_game:
          type: integer
        fixes_per_game:
          type: integer
        takes_used:
          type: integer
        fixes_used:
          type: integer
        takes_left:
          type: integer
        fixes_left:
          type: integer
        stopped:
          type:
            - string
            - 'null'
          description: >-
            Why none can be made now: covers_paused, covers_need_release (no
            release yet, not even a draft) or covers_allowance_used. Null when
            they can.
      required:
        - free
        - note
        - takes_per_game
        - fixes_per_game
        - takes_used
        - fixes_used
        - takes_left
        - fixes_left
        - stopped
    CoversJob:
      type: object
      properties:
        id:
          type: string
          format: uuid
        project:
          type: string
        kind:
          type: string
          enum:
            - make
            - fix
        state:
          type: string
          enum:
            - queued
            - running
            - succeeded
            - failed
            - canceled
          description: >-
            succeeded once every take has settled and at least one is ready.
            failed when none could be made: next says whether another try can
            help
        shape:
          type:
            - string
            - 'null'
        subject:
          type:
            - string
            - 'null'
        instruction:
          type:
            - string
            - 'null'
        fixes:
          type:
            - string
            - 'null'
          format: uuid
          description: The take a fix job fixes
        takes:
          type: array
          items:
            $ref: '#/components/schemas/CoverTake'
        allowance:
          $ref: '#/components/schemas/CoversAllowance'
        next:
          type: string
          description: What to do next, for the person and their agent
        created_at:
          type: string
      required:
        - id
        - project
        - kind
        - state
        - shape
        - subject
        - instruction
        - fixes
        - takes
        - allowance
        - next
        - created_at
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: version_exists
            message:
              type: string
            details: {}
          required:
            - code
            - message
      required:
        - error
    CoverTake:
      type: object
      properties:
        id:
          type: string
          format: uuid
        shape:
          type: string
          enum:
            - wide
            - tall
        state:
          type: string
          enum:
            - making
            - ready
            - failed
        url:
          type:
            - string
            - 'null'
          description: >-
            The whole cover (2560 x 1440 wide, 1200 x 1800 tall), through a
            private link that lasts an hour
        preview_url:
          type:
            - string
            - 'null'
          description: The same at card size
        width:
          type:
            - integer
            - 'null'
        height:
          type:
            - integer
            - 'null'
        fixed_from:
          type:
            - string
            - 'null'
          format: uuid
          description: The take this one fixes
        set_as:
          type:
            - string
            - 'null'
          description: cover or tall_cover when it's the project's now
        error:
          type:
            - string
            - 'null'
      required:
        - id
        - shape
        - state
        - url
        - preview_url
        - width
        - height
        - fixed_from
        - set_as
        - error
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: An API key (pch_...) or the token from pch login.

````

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