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

# List External Contacts

> Returns the authenticated user's saved contacts, cursor-paginated. `crypto` and `bank` share the same underlying store and are merged into a single feed/cursor; when `contact_type` is omitted, both are returned together. `rp_tag` (internal Ripio P2P contacts) is **excluded by default**: it is only returned when `contact_type=rp_tag` is passed explicitly, and it paginates with its own independent cursor — there is no combined feed across all three types.

Requires the `contacts_read` permission. The account must be fully operative.

---

**Authorization**

- Requires a valid API key.



## OpenAPI

````yaml get /wallet/contacts/
openapi: 3.0.0
info:
  title: Ripio Gateway
  description: Ripio API - Services documentation.
  version: 0.1.0
  x-logo:
    url: https://cwstatic.nyc3.digitaloceanspaces.com/1996/bitcointrade.png
servers:
  - url: https://api.ripio.com
    description: Production environment
security: []
paths:
  /wallet/contacts/:
    get:
      tags:
        - Ripio Wallet
      summary: contacts - List external contacts
      description: >-
        Returns the authenticated user's saved contacts, cursor-paginated.
        `crypto` and `bank` share the same underlying store and are merged into
        a single feed/cursor; when `contact_type` is omitted, both are returned
        together. `rp_tag` (internal Ripio P2P contacts) is **excluded by
        default**: it is only returned when `contact_type=rp_tag` is passed
        explicitly, and it paginates with its own independent cursor — there is
        no combined feed across all three types.


        Requires the `contacts_read` permission. The account must be fully
        operative.


        ---


        **Authorization**


        - Requires a valid API key.
      parameters:
        - in: query
          name: contact_type
          required: false
          description: >-
            Filters the type of contact returned. If omitted, returns
            `crypto`+`bank` together — `rp_tag` is excluded by default and
            requires this filter set explicitly.
          schema:
            example: crypto
            type: string
        - in: query
          name: currency
          required: false
          description: >-
            Filter by currency ticker (e.g. `BTC`, `ETH`). Only applied when
            `contact_type=crypto`. Ignored when `contact_type=rp_tag`.
            Case-insensitive.
          schema:
            example: BTC
            type: string
        - in: header
          name: authorization
          required: true
          description: The API key as a string.
          schema:
            type: string
        - in: header
          name: signature
          required: true
          description: >-
            See the [Generating
            Signature](/static/api/authentication#generating-signature) section
            for more details.
          schema:
            type: string
        - in: header
          name: timestamp
          required: true
          description: >-
            A timestamp in milliseconds. See the [Timestamp
            Security](/static/api/authentication#timestamp-security) section for
            more details.
          schema:
            type: number
        - in: header
          name: timstamp-tolerance
          required: false
          description: >-
            An additional, non-required parameter, that you can send to specify
            the number of milliseconds after the timestamp for the request to be
            valid. See the [Timestamp
            Security](/static/api/authentication#timestamp-security) section for
            more details.
          schema:
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Contacts retrieved successfully.
                properties:
                  error_code:
                    type: string
                    example: null
                  message:
                    type: string
                    example: null
                  data:
                    properties:
                      results:
                        items:
                          type: object
                        type: array
                      nc:
                        description: >-
                          Next cursor token. Pass as `?cursor=<nc>` to fetch the
                          next page. `null` when there is no next page.
                        type: string
                        example: cD0yMDI2LTAyLTI0KzAw...
                      pc:
                        description: >-
                          Previous cursor token. Pass as `?cursor=<pc>` to fetch
                          the previous page. `null` on the first page.
                        type: string
                        example: null
                    type: object
                required:
                  - error_code
                  - message
                  - data
                type: object
        '400':
          description: Error response 400
        '401':
          description: Error response 401
        '403':
          description: ''
          content:
            application/json:
              schema:
                description: Gateway error response wrapper.
                properties:
                  error_code:
                    description: >-
                      Error code identifying the failure. Gateway codes:
                      'ERR_0001'=internal error, 'ERR_0003'=bad request,
                      'ERR_0004'=not found, 'ERR_0006'=service unavailable,
                      'ERR_0008'=unauthorized, 'ERR_0009'=forbidden,
                      'ERR_0010'=method not allowed, 'ERR_0012'=too many
                      requests.
                    type: string
                    example: ERR_0008
                  message:
                    description: Human-readable error message.
                    type: string
                    example: Invalid Gateway JWT
                  data:
                    description: >-
                      Null for most errors. May contain field-level validation
                      errors as an object with a `detail` array.
                    type: object
                    example: null
                required:
                  - error_code
                  - message
                  - data
                type: object
        '409':
          description: ''
          content:
            application/json:
              schema:
                description: Gateway error response wrapper.
                properties:
                  error_code:
                    description: >-
                      Error code identifying the failure. Gateway codes:
                      'ERR_0001'=internal error, 'ERR_0003'=bad request,
                      'ERR_0004'=not found, 'ERR_0006'=service unavailable,
                      'ERR_0008'=unauthorized, 'ERR_0009'=forbidden,
                      'ERR_0010'=method not allowed, 'ERR_0012'=too many
                      requests.
                    type: string
                    example: ERR_0008
                  message:
                    description: Human-readable error message.
                    type: string
                    example: Invalid Gateway JWT
                  data:
                    description: >-
                      Null for most errors. May contain field-level validation
                      errors as an object with a `detail` array.
                    type: object
                    example: null
                required:
                  - error_code
                  - message
                  - data
                type: object

````