title: How to define two different responses for same Response code with 302 Redirect?
body: <p>I'm trying to set two different responses of 302 in out API since our API redirects to a different Endpoint depending on the request sent. I'm current using Open API ver 3.0.1. How do I do that?</p>
  
  <blockquote>
    <p>I basically just want two different Location Headers for the 302
    redirect describing how why the particular Location header is returned. Or have two same 302 response codes</p>
  </blockquote>
  
  <p><a href="https://i.stack.imgur.com/qaD5X.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qaD5X.png" alt="I basically just want two different Location Headers for the 302 redirect describing how why the particular Location header is returned"></a></p>
  
  <p><a href="https://stackoverflow.com/questions/47447403/how-to-define-different-responses-for-same-http-status-code-in-openapi-swagger">I was following this older thread.</a> But it doesn't correctly reference the two different Location headers in the actual API Endpoint, and instead just shows a blank Location header.</p>
  
  <p>My Code snippet is:</p>
  
  <pre><code>  responses:
      '200':
        description: 'Sample 200 Response'
      '302':
        description: 'Sample 302 Responses. See &lt;302ExpiredRefreshTokenstring&gt; &amp; &lt;302ExpiredUserRefreshTokenstring&gt; schemas for reference'
        headers:
          Location:
            schema:
              oneOf:
                - $ref: '#/components/schemas/302ExpiredRefreshToken'
                - $ref: '#/components/schemas/302ExpiredUserRefreshToken'
  </code></pre>
  
  <p>And the schema is:</p>
  
  <pre><code>components:
    schemas:
      302ExpiredRefreshToken:
        type: string
        example: 'www.&lt;UIEndpoint&gt;/ref-login?SessionId=d3fe5c6959ae0ce502d6027a7693c3ebe4543f51a878d60004e1331723fc0187&amp;redirect_uri=https://www.lazada.com.ph&amp;state=sample_state_54321&amp;refresh_token=sCY2O0kev5Ic516A1INnQwRc8D1hbuOJ&amp;BillerCode=00494&amp;UserId=JBC_28'
        description: Redirect URI if Refresh Token (FinTech) has already expired.
      302ExpiredUserRefreshToken:
        type: string
        example: 'www.&lt;UIEndpoint&gt;/cpw-login?SessionId=d3fe5c6959ae0ce502d6027a7693c3ebe4543f51a878d60004e1331723fc0187&amp;redirect_uri=https://www.lazada.com.ph&amp;state=sample_state_54321&amp;refresh_token=sCY2O0kev5Ic516A1INnQwRc8D1hbuOJ&amp;BillerCode=00494&amp;UserId=JBC_28'
    description: Redirect URI if User Refresh Token (DigiFi) has already expired. This could be triggered even if the Refresh Token (FinTech) has not expired yet.
  </code></pre>
  
  <p>Adding multiple examples doesn't work either as it doesn't show the multiple examples, instead it's just a blank</p>
  
  <pre><code>headers:
              Location:
                schema:
                  type: string
                examples: 
                  'test1':
                    value: 'value1'
                  'test2':
                    value: 'value2'
                description: 'Description of Location Header'
  </code></pre>
  
  <p>But the Multiple examples for a header work when placed on the request paramters as I added examples in the request like this.</p>
  
  <pre><code> parameters:
            name: Location
            in: header
            examples:       
              test1:         
                value: 'value2'   
                summary: 'summary 1'
              test2: 
                value: 'value 1'  
                summary: 'summary 2' 
  </code></pre>