> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get all reports

> Gets a list of all user generated reports.

<Info>
  Once a report request has been accepted for processing, you can poll the report resource endpoint at `/reports/{report_id}` for its status. When status is `ready`, the final report is uploaded and available at `{file_url}`.
</Info>

## API Key Permissions

This endpoint requires either the "view" or "trade" permission.


## OpenAPI

````yaml GET /reports
openapi: 3.0.1
info:
  title: REST API
  description: >-
    # Welcome to Coinbase Exchange API

    ## Introduction

    The Exchange Trading APIs allow institutions to place orders and access
    account information. The following API pages detail various REST API
    endpoints we offer for lower-frequency trading and general requests.

    ## Getting Started

    To get started, please visit one of the following pages:

    - [Authentication](/exchange/docs/rest-auth)

    - [Rate Limits](/exchange/docs/rest-rate-limits)

    - [Pagination](/exchange/docs/rest-pagination)

    - [Status Codes](/exchange/docs/rest-requests)

    - [Quickstart](/exchange/docs/getting-started)

    ## FIX API

    - [FIX API reference](/exchange/docs/fix-connectivity)

    ## WebSocket API

    - [WebSocket API reference](/exchange/docs/websocket-overview)
  version: '1.0'
servers:
  - url: https://api.exchange.coinbase.com/
security:
  - ApiKeyAuthKey: []
    ApiKeyAuthPassphrase: []
    ApiKeyAuthSign: []
    ApiKeyAuthTimestamp: []
paths:
  /reports:
    get:
      tags:
        - Reports
      summary: Get all reports
      description: Gets a list of all user generated reports.
      operationId: ExchangeRESTAPI_GetReports
      parameters:
        - name: profile_id
          in: query
          description: Filter results by a specific profile_id
          schema:
            type: string
        - name: after
          in: query
          description: Filter results after a specific date
          schema:
            type: string
            format: date-time
        - name: limit
          in: query
          description: Limit results to a specific number
          schema:
            type: integer
            format: int64
            default: 100
        - name: type
          in: query
          description: >-
            Filter results by type of report. Possible values: [`account`,
            `balance`, `fills`, `otc-fills`, `rfq-fills`, `tax-invoice`,
            `1099k-transaction-history`]
          schema:
            type: string
        - name: ignore_expired
          in: query
          description: Ignore expired results
          schema:
            type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/apiReport'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiUnauthorizedResponse'
        '500':
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiErrorResponse'
components:
  schemas:
    apiReport:
      required:
        - completed_at
        - created_at
        - expires_at
        - file_url
        - id
        - params
        - status
        - type
        - user_id
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        created_at:
          type: string
          format: date-time
        completed_at:
          type: string
          format: date-time
        expires_at:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/apiReportReportStatus'
        user_id:
          type: string
        file_url:
          type: string
        params:
          $ref: '#/components/schemas/apiReportParams'
        file_count:
          type: string
          format: uint64
      example:
        created_at: '2019-07-25T22:14:00.410Z'
        completed_at: '2019-07-25T22:14:01.332Z'
        expires_at: '2019-08-01T22:14:00.410Z'
        id: 66e2dc58-a11b-4ae7-af08-1b42cf8031ad
        type: account
        status: ready
        user_id: 5cf6e115aaf44503db300f1e
        file_url: www.example.com
        params:
          start_date: '2019-06-25T22:13:48.592Z'
          end_date: '2019-07-25T22:13:48.592Z'
          format: pdf
          product_id: ALL
          account_id: ALL
          profile_id: 8058d771-2d88-4f0f-ab6e-299c153d4308
          email: user1@example.com
          user:
            created_at: '2019-06-04T21:22:32.226Z'
            active_at: '2019-06-04T21:27:49.250Z'
            id: 5cf6e115aaf44503db300f1e
            name: User One
            email: user1@example.com
            is_banned: false
            user_type: individual
            fulfills_new_requirements: true
            oauth_client: pro
            preferences:
              preferred_market: BTC-USD
              margin_terms_completed_in_utc: '2019-06-13T23:40:17.752Z'
              margin_tutorial_completed_in_utc: '2019-06-19T23:56:59.411Z'
            has_default: false
          new_york_state: false
    apiUnauthorizedResponse:
      type: object
      properties:
        message:
          title: message
          pattern: ^[a-zA-Z0-9]{1, 32}$
          type: string
      description: >-
        UnauthorizedResponse is the response message for endpoints in
        rest-gateway that requires authentication.

        This message is used to generate the Exchange REST API documentation
        using OpenAPI format.
    apiErrorResponse:
      type: object
      properties:
        message:
          title: message
          pattern: ^[a-zA-Z0-9]{1, 32}$
          type: string
    apiReportReportStatus:
      type: string
      default: pending
      enum:
        - pending
        - creating
        - ready
        - failed
    apiReportParams:
      required:
        - email
        - format
        - profile_id
        - user
      type: object
      properties:
        start_date:
          type: string
          format: date-time
        end_date:
          type: string
          format: date-time
        format:
          $ref: '#/components/schemas/apiReportFormat'
        product_id:
          type: string
        account_id:
          type: string
        profile_id:
          type: string
        email:
          type: string
        user:
          $ref: '#/components/schemas/apiPartialUser'
        new_york_state:
          type: boolean
        datetime:
          type: string
          format: date-time
        group_by_profile:
          type: boolean
      example:
        start_date: '2019-06-25T22:13:48.592Z'
        end_date: '2019-07-25T22:13:48.592Z'
        format: pdf
        product_id: ALL
        account_id: ALL
        profile_id: 8058d771-2d88-4f0f-ab6e-299c153d4308
        email: user1@example.com
        user:
          created_at: '2019-06-04T21:22:32.226Z'
          active_at: '2019-06-04T21:27:49.250Z'
          id: 5cf6e115aaf44503db300f1e
          name: User One
          email: user1@example.com
          is_banned: false
          user_type: individual
          fulfills_new_requirements: true
          oauth_client: pro
          preferences:
            preferred_market: BTC-USD
            margin_terms_completed_in_utc: '2019-06-13T23:40:17.752Z'
            margin_tutorial_completed_in_utc: '2019-06-19T23:56:59.411Z'
          has_default: false
        new_york_state: false
    apiReportFormat:
      type: string
      default: pdf
      enum:
        - pdf
        - csv
    apiPartialUser:
      required:
        - created_at
        - email
        - fulfills_new_requirements
        - has_default
        - id
        - is_banned
        - name
        - preferences
        - user_type
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        active_at:
          type: string
          format: date-time
        name:
          type: string
        email:
          type: string
        roles:
          type: array
          items:
            type: object
            properties: {}
        is_banned:
          type: boolean
        user_type:
          type: string
        fulfills_new_requirements:
          type: boolean
        flags:
          type: object
          additionalProperties:
            type: string
        details:
          type: object
          properties: {}
        preferences:
          type: object
          additionalProperties:
            type: object
            properties: {}
        has_default:
          type: boolean
        state_code:
          type: string
        cb_data_from_cache:
          type: boolean
        two_factor_method:
          type: string
        legal_name:
          type: string
        terms_accepted:
          type: string
          format: date-time
        has_clawback_payment_pending:
          type: boolean
        has_restricted_assets:
          type: boolean
  securitySchemes:
    ApiKeyAuthKey:
      type: apiKey
      name: cb-access-key
      in: header
    ApiKeyAuthPassphrase:
      type: apiKey
      name: cb-access-passphrase
      in: header
    ApiKeyAuthSign:
      type: apiKey
      name: cb-access-sign
      in: header
    ApiKeyAuthTimestamp:
      type: apiKey
      name: cb-access-timestamp
      in: header

````