Scottingham
Scottingham

Reputation: 946

How to specify that a pdf is returned in swagger?

I have a get call in my swagger REST API that needs to return a pdf file. There is no clear example / documentation on how to do this without causing a syntax error.

  responses:
    200:
      description: Returns PDF
      schema: [application/pdf]

and

  responses:
    200:
      description: Returns PDF
      schema: 
        type: file

and

  responses:
    200:
      description: Returns PDF
      schema:
        type:  [application/pdf]

all fail. Is this even possible?

Upvotes: 36

Views: 44560

Answers (2)

nitashathakur
nitashathakur

Reputation: 480

With Open API 3.0 ,try below responses:

get:
  summary: Returns the report in the PDF format
  responses:
    '200':
      description: A PDF file
      content:
        application/pdf:
          schema:
            type: string
            format: binary

Documentation: swagger.io/docs/specification/describing-responses

Section: Response That Returns a File

Upvotes: 27

Ron
Ron

Reputation: 14840

  responses:
    200:
      description: Returns PDF
      schema: 
        type: file

Out of the options you gave, that's the right option. Also, make sure to use produces: [application/pdf]

If it fails for you, make sure you use the latest version of the editor. There was a bug related to the file type that was recently resolved.

Upvotes: 27

Related Questions