---
title: "Download operation for documents in different formats"
url: "https://apiportal-qa.np.six-group.com/apis/simulator-ch-qa-v1/versions/c729661a-062a-4141-9704-f637226fa5f0/operations/download"
---

> Full API specification: https://apiportal-qa.np.six-group.com/apis/simulator-ch-qa-v1/versions/c729661a-062a-4141-9704-f637226fa5f0.md

# Download operation for documents in different formats

`GET` `/download`

Operation ID: `download`

This endpoint downloads any document present in the platform using path parameters. For **document** downloading, we will proceed as: GET /download?id=2e3d0448-5bf5-4fd3-926e-36f43c24162a&type=REPORT The user should provide the type of document to download, **report** and the ID of the report to download. To retrieve the document ID, it is present in the operation **search** available for **reports**. Please, check the documentation available for document query.

## Query parameters

- `id` (string, string, required)
- `type` (string, optional) - Document type to download

## Responses

- `200` - Download document in Base64
- `400` - Bad Request
- `401` - Unauthorized
- `403` - Forbidden
- `404` - Resource not found
- `500` - Internal Server Error

## OpenAPI definition

```yaml
openapi: 3.0.2
info:
  title: DCleaR - Risk Simulator API - v1
  version: 1.0.0
servers:
  - url: https://api-qa.np.six-group.com/clearing/risk/simulator/dev/v1
  - url: https://api-qa.np.p2p.six-group.com/clearing/risk/simulator/dev/v1
  - url: https://api-qa.np.fip.six-group.com/clearing/risk/simulator/dev/v1
paths:
  /download:
    get:
      tags:
        - Download
      summary: Download operation for documents in different formats
      description: >-
        This endpoint downloads any document present in the platform using path
        parameters. 


        For **document** downloading, we will proceed as:

            GET /download?id=2e3d0448-5bf5-4fd3-926e-36f43c24162a&type=REPORT

        The user should provide the type of document to download, **report** and
        the ID of the report to download. 


        To retrieve the document ID, it is present in the operation **search**
        available for **reports**. Please, check the documentation available for
        document query.
      operationId: download
      parameters:
        - name: id
          in: query
          description: ""
          required: true
          style: form
          explode: true
          schema:
            $ref: "#/components/schemas/UUIDType"
        - name: type
          in: query
          description: Document type to download
          required: false
          style: form
          explode: true
          schema:
            type: string
            enum:
              - REPORT
          examples:
            Report download:
              value: REPORT
      responses:
        "200":
          $ref: "#/components/responses/200OkBinary"
        "400":
          $ref: "#/components/responses/400ErrorResponse"
        "401":
          $ref: "#/components/responses/401SecurityLayerErrorResponse"
        "403":
          $ref: "#/components/responses/403SecurityLayerErrorResponse"
        "404":
          $ref: "#/components/responses/404ErrorResponse"
        "500":
          $ref: "#/components/responses/500ErrorResponse"
components:
  schemas:
    UUIDType:
      pattern: ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$
      type: string
      description: UUID type implementing the [RFC
        4122](https://www.ietf.org/rfc/rfc4122.txt).
      format: string
      example: 95b1b467-bd69-4436-8181-96c16408c230
    Error:
      required:
        - message
      type: object
      properties:
        message:
          type: string
          description: A human-readable explanation specific to this error.
          example: Unauthorized
        errorDetail:
          description: Additional information about the error.
          allOf:
            - $ref: "#/components/schemas/ErrorDetail"
      description: Description of an error to help remediation.
    ErrorDetail:
      required:
        - status
      type: object
      properties:
        type:
          type: string
          description: >-
            A URI reference (RFC3986) that describes the problem type (in the
            context of the provided API).


            Should resolve to a human-readable document.
          format: uri
          default: about:blank
        title:
          type: string
          description: A short, human-readable summary of the problem type in English.
          example: Not Found
        status:
          maximum: 599
          minimum: 100
          type: integer
          description: The HTTP status code (RFC7231, Section 6) generated by the origin
            server for this occurrence of the problem.
          format: int32
          example: 400
        code:
          $ref: "#/components/schemas/ServerErrorCode"
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the
            problem.
          example: ISIN 'US012071998' does not exist.
        instance:
          type: string
          description: A URI reference (RFC3986) that identifies the specific occurrence
            of the problem. It may or may not yield further information if
            dereferenced.
          format: uri
          example: https://www.example.com/books/1234
        missingParams:
          type: array
          items:
            $ref: "#/components/schemas/MissingParams"
        invalidParams:
          type: array
          items:
            $ref: "#/components/schemas/InvalidParams"
      description: Detailed description of an error to help remediation. It follows
        RFC 7807 (https://datatracker.ietf.org/doc/html/rfc7807).
    ServerErrorCode:
      pattern: ^[0-9A-Z_]{1,125}$
      type: string
      description: "An application specific error code that identifies univocally the
        error situation. "
      example: THIS_IS_ERROR_CODE
    MissingParams:
      type: object
      properties:
        in:
          $ref: "#/components/schemas/ParameterLocation"
        name:
          type: string
        reason:
          type: string
        code:
          $ref: "#/components/schemas/ServerErrorCode"
      description: "List of missing parameters.\r

        \r

        ***Please note that the API GW does syntax validation according to the
        OAS and will issue an error response in case of failure. Thus, this
        extension should only be used when the API server is not connected to
        via the API GW or if conditional presence conditions (that typically
        cannot be modeled in an OAS) are applicable.***"
      example:
        in: PATH
        name: paramName
        reason: The parameter 'paramName' is not present in PATH
        code: ERROR_INTERNAL
    InvalidParams:
      required:
        - in
        - name
        - value
      type: object
      properties:
        in:
          $ref: "#/components/schemas/ParameterLocation"
        name:
          type: string
          description: The name of the invalid parameter.
        reason:
          type: string
          description: The reason why the parameter's value is invalid.
        code:
          $ref: "#/components/schemas/ServerErrorCode"
        value:
          type: string
          description: The invalid value (as a string).
      description: "List of invalid parameters.\r

        \r

        ***Please note that the API GW does syntax validation according to the
        OAS and will issue an error response in case of failure. Thus, this
        extension should only be used when the API server is not connected to
        via the API GW or if additional (to what is defined in the OAS) checks
        are performed.***"
      example:
        in: PATH
        name: paramName
        reason: Internal functional validation has ended in failure
        value: "23.3"
        code: ERROR_INTERNAL
    ParameterLocation:
      type: string
      description: The location of the invalid parameter.
      enum:
        - BODY
        - PATH
        - QUERY
        - HEADER
  responses:
    200OkBinary:
      description: Download document in Base64
      headers:
        X-Correlation-Id:
          style: simple
          explode: false
          schema:
            $ref: "#/components/schemas/UUIDType"
      content:
        application/octet-stream:
          schema:
            type: string
            format: binary
          examples:
            200 Ok:
              value: PHhtbD48dmFsdWU+SGVsbG8gV29ybGQhPC92YWx1ZT48L3htbD4
    400ErrorResponse:
      description: Bad Request
      headers:
        X-Correlation-Id:
          style: simple
          explode: false
          schema:
            $ref: "#/components/schemas/UUIDType"
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Error"
          examples:
            BadRequestMissingAttributes:
              value:
                message: Bad Requet
                errorDetail:
                  type: about:blank
                  title: Bad Request
                  status: 400
                  code: A123
                  detail: Wrong input value
                  missingParams:
                    - in: PATH
                      name: paramName
                      reason: The parameter 'paramName' is not present in PATH
                      code: ERROR_INTERNAL
                  invalidParams:
                    - in: PATH
                      name: paramName
                      reason: Internal functional validation has ended in failure
                      value: "23.3"
                      code: ERROR_INTERNAL
    401SecurityLayerErrorResponse:
      description: Unauthorized
      headers:
        X-Correlation-Id:
          style: simple
          explode: false
          schema:
            $ref: "#/components/schemas/UUIDType"
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Error"
          examples:
            Unauthorized:
              value:
                message: No required TLS certificate was sent
                errorDetail:
                  title: Unauthorized
                  status: 401
                  detail: Client is not authenticated.
    403SecurityLayerErrorResponse:
      description: Forbidden
      headers:
        X-Correlation-Id:
          style: simple
          explode: false
          schema:
            $ref: "#/components/schemas/UUIDType"
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Error"
          examples:
            Forbidden:
              value:
                message: Forbidden
                errorDetail:
                  title: Forbidden
                  status: 403
                  detail: Client is not authorized for this operation.
    404ErrorResponse:
      description: Resource not found
      headers:
        X-Correlation-Id:
          style: simple
          explode: false
          schema:
            $ref: "#/components/schemas/UUIDType"
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Error"
          examples:
            NotFound:
              value:
                message: Not Found
                errorDetail:
                  title: Not Found
                  status: 404
                  detail: Value provided not found
    500ErrorResponse:
      description: Internal Server Error
      headers:
        X-Correlation-Id:
          style: simple
          explode: false
          schema:
            $ref: "#/components/schemas/UUIDType"
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Error"
          examples:
            ServerError:
              value:
                message: Server error
                errorDetail:
                  title: Internal Server Error
                  status: 500
                  detail: Something went wrong.
```
