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

# Download the PDF brochure for a build

> Serves (generating on first request) the PDF brochure for a build the caller can see in the marketplace listing. Authenticate with EITHER a Bearer API key OR a `sig` signed-URL token bound to the build — one is required. On success the response is a 302 redirect to the generated Active Storage blob.



## OpenAPI

````yaml /api-reference/openapi.yaml get /api/v1/brochures/{id}
openapi: 3.0.1
info:
  title: API V1
  version: v1
servers:
  - url: https://{defaultHost}
    variables:
      defaultHost:
        default: api.kenekt.com.au
security: []
tags:
  - name: Stock
    description: >-
      This agency's own stock: packages as JSON, the subset published to your
      website, and the same list exported as CSV or Excel.
  - name: Marketplace
    description: Packages listed on the Kenekt marketplace.
  - name: Brochures
    description: The PDF brochure for a package, by Bearer key or signed link.
paths:
  /api/v1/brochures/{id}:
    get:
      tags:
        - Brochures
      summary: Download the PDF brochure for a build
      description: >-
        Serves (generating on first request) the PDF brochure for a build the
        caller can see in the marketplace listing. Authenticate with EITHER a
        Bearer API key OR a `sig` signed-URL token bound to the build — one is
        required. On success the response is a 302 redirect to the generated
        Active Storage blob.
      parameters:
        - name: Authorization
          in: header
          required: false
          description: >-
            Token authentication using format: Bearer <api_key>. Omit when using
            a signed `sig` token.
          example: Bearer abc123def456
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: Build public_uid identifier
          schema:
            type: string
            example: BP-1234
        - name: sig
          in: query
          required: false
          description: >-
            Signed-URL token bound to this build; an alternative to the Bearer
            header.
          schema:
            type: string
      responses:
        '302':
          description: Redirect to the generated PDF brochure blob (inline)
          headers:
            Location:
              description: Signed Active Storage blob URL for the PDF
              schema:
                type: string
        '401':
          description: Missing or invalid Bearer token / signed link
        '404':
          description: brochure not found
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - message
                      - status
                      - details
                    properties:
                      message:
                        type: string
                        example: Not Found
                      status:
                        type: integer
                        example: 404
                      details:
                        type: string
                        example: Brochure not found
        '410':
          description: The build has been archived
        '422':
          description: PDF generation failed
      security:
        - bearer_auth: []
components:
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      bearerFormat: Token

````

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