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

# List policies

> Returns a paginated list of your policies, optionally filtered by type, status, or scope. By default only ACTIVE policies are returned; pass an explicit status filter to include disabled ones.



## OpenAPI

````yaml /api-reference/openapi.json get /policies/
openapi: 3.1.0
info:
  title: Reap API
  version: 1.0.0
  description: Reap platform API
servers:
  - url: https://sandbox.api.reap.global
    description: Sandbox
  - url: https://prod.api.reap.global
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Accounts
  - name: Activities
  - name: Card Designs
  - name: Card Shipments
  - name: Card Transactions
  - name: Cards
  - name: Companies
  - name: Crypto Deposits
  - name: Policies
  - name: Simulation
  - name: Users
  - name: Virtual Asset Postings
  - name: Virtual Assets
  - name: Webhooks
paths:
  /policies/:
    get:
      tags:
        - Policies
      summary: List policies
      description: >-
        Returns a paginated list of your policies, optionally filtered by type,
        status, or scope. By default only ACTIVE policies are returned; pass an
        explicit status filter to include disabled ones.
      operationId: list_policies
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            default: 20
            examples:
              - 20
              - 50
              - 100
            description: 'Maximum number of items to return (1-100, default: 20)'
            type: integer
            exclusiveMinimum: 0
            maximum: 100
        - name: cursor
          in: query
          required: false
          schema:
            description: >-
              Opaque cursor for pagination. Pass nextCursor from previous
              response to get next page.
            type: string
        - name: type
          in: query
          required: false
          schema:
            description: Filter by policy type (comma-separated).
            type: array
            items:
              type: string
              enum:
                - MERCHANT_RESTRICTION
                - CHANNEL_RESTRICTION
                - TRANSACTION_AMOUNT_LIMIT
                - SPEND_LIMIT
                - AUTHORIZATION_COUNT_LIMIT
              example: MERCHANT_RESTRICTION
        - name: status
          in: query
          required: false
          schema:
            description: >-
              Filter by status (comma-separated). Defaults to ACTIVE; pass an
              explicit value (e.g. `ACTIVE,DISABLED`) to include disabled
              policies.
            type: array
            items:
              type: string
              enum:
                - ACTIVE
                - DISABLED
              example: ACTIVE
        - name: scopeType
          in: query
          required: false
          schema:
            description: Filter by scope type (comma-separated).
            type: array
            items:
              type: string
              enum:
                - PROJECT
                - USER
                - CARD
              example: PROJECT
        - name: scopeId
          in: query
          required: false
          schema:
            description: Filter by the exact entity the policy attaches to.
            type: string
        - name: Reap-Version
          in: header
          required: true
          schema:
            type: string
            enum:
              - '2025-02-14'
            description: API version (YYYY-MM-DD)
            example: '2025-02-14'
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Policy'
                  nextCursor:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Cursor for next page, or null if no more items
                required:
                  - items
                  - nextCursor
components:
  schemas:
    Policy:
      oneOf:
        - $ref: '#/components/schemas/MerchantRestrictionPolicy'
          title: MerchantRestriction
        - $ref: '#/components/schemas/ChannelRestrictionPolicy'
          title: ChannelRestriction
        - $ref: '#/components/schemas/TransactionAmountLimitPolicy'
          title: TransactionAmountLimit
        - $ref: '#/components/schemas/SpendLimitPolicy'
          title: SpendLimit
        - $ref: '#/components/schemas/AuthorizationCountLimitPolicy'
          title: AuthorizationCountLimit
      description: Policy resource
    MerchantRestrictionPolicy:
      type: object
      properties:
        id:
          type: string
          description: >-
            Policy ID. A UUID for your policies; a stable identifier for
            platform policies.
        type:
          type: string
          const: MERCHANT_RESTRICTION
        scope:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  const: PROJECT
              required:
                - type
              title: Project
            - type: object
              properties:
                type:
                  type: string
                  const: USER
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: User
            - type: object
              properties:
                type:
                  type: string
                  const: CARD
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: Card
          description: Where the policy attaches.
        status:
          type: string
          enum:
            - ACTIVE
            - DISABLED
          example: ACTIVE
        name:
          type: string
          minLength: 1
          maxLength: 128
          description: Human-readable label.
        config:
          type: object
          properties:
            match:
              oneOf:
                - type: object
                  properties:
                    dimension:
                      type: string
                      const: MCC
                    codes:
                      minItems: 1
                      type: array
                      items:
                        type: string
                  required:
                    - dimension
                    - codes
                  title: Mcc
                - type: object
                  properties:
                    dimension:
                      type: string
                      const: MERCHANT_COUNTRY
                    countries:
                      minItems: 1
                      type: array
                      items:
                        type: string
                        minLength: 2
                        maxLength: 2
                  required:
                    - dimension
                    - countries
                  title: MerchantCountry
          required:
            - match
          description: Block transactions whose merchant matches the criteria.
        createdAt:
          type: string
          description: ISO 8601 creation timestamp.
        updatedAt:
          type: string
          description: ISO 8601 last-update timestamp.
      required:
        - id
        - type
        - scope
        - status
        - name
        - config
        - createdAt
        - updatedAt
    ChannelRestrictionPolicy:
      type: object
      properties:
        id:
          type: string
          description: >-
            Policy ID. A UUID for your policies; a stable identifier for
            platform policies.
        type:
          type: string
          const: CHANNEL_RESTRICTION
        scope:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  const: PROJECT
              required:
                - type
              title: Project
            - type: object
              properties:
                type:
                  type: string
                  const: USER
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: User
            - type: object
              properties:
                type:
                  type: string
                  const: CARD
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: Card
          description: Where the policy attaches.
        status:
          type: string
          enum:
            - ACTIVE
            - DISABLED
          example: ACTIVE
        name:
          type: string
          minLength: 1
          maxLength: 128
          description: Human-readable label.
        config:
          type: object
          properties:
            channels:
              minItems: 1
              type: array
              items:
                type: string
                enum:
                  - ATM
                  - POS
                  - ECOMMERCE
                example: ATM
          required:
            - channels
          description: Block transactions on the listed channels.
        createdAt:
          type: string
          description: ISO 8601 creation timestamp.
        updatedAt:
          type: string
          description: ISO 8601 last-update timestamp.
      required:
        - id
        - type
        - scope
        - status
        - name
        - config
        - createdAt
        - updatedAt
    TransactionAmountLimitPolicy:
      type: object
      properties:
        id:
          type: string
          description: >-
            Policy ID. A UUID for your policies; a stable identifier for
            platform policies.
        type:
          type: string
          const: TRANSACTION_AMOUNT_LIMIT
        scope:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  const: PROJECT
              required:
                - type
              title: Project
            - type: object
              properties:
                type:
                  type: string
                  const: USER
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: User
            - type: object
              properties:
                type:
                  type: string
                  const: CARD
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: Card
          description: Where the policy attaches.
        status:
          type: string
          enum:
            - ACTIVE
            - DISABLED
          example: ACTIVE
        name:
          type: string
          minLength: 1
          maxLength: 128
          description: Human-readable label.
        config:
          type: object
          properties:
            maxAmount:
              type: number
              exclusiveMinimum: 0
              examples:
                - 100.5
                - 0
                - 1234.99
              description: Amount in USD.
          required:
            - maxAmount
          description: Cap the amount of a single transaction.
        createdAt:
          type: string
          description: ISO 8601 creation timestamp.
        updatedAt:
          type: string
          description: ISO 8601 last-update timestamp.
      required:
        - id
        - type
        - scope
        - status
        - name
        - config
        - createdAt
        - updatedAt
    SpendLimitPolicy:
      type: object
      properties:
        id:
          type: string
          description: >-
            Policy ID. A UUID for your policies; a stable identifier for
            platform policies.
        type:
          type: string
          const: SPEND_LIMIT
        scope:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  const: PROJECT
              required:
                - type
              title: Project
            - type: object
              properties:
                type:
                  type: string
                  const: USER
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: User
            - type: object
              properties:
                type:
                  type: string
                  const: CARD
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: Card
          description: Where the policy attaches.
        status:
          type: string
          enum:
            - ACTIVE
            - DISABLED
          example: ACTIVE
        name:
          type: string
          minLength: 1
          maxLength: 128
          description: Human-readable label.
        config:
          type: object
          properties:
            window:
              type: object
              properties:
                type:
                  type: string
                  const: CALENDAR
                period:
                  type: string
                  enum:
                    - DAILY
                    - WEEKLY
                    - MONTHLY
                    - YEARLY
                    - LIFETIME
                  example: DAILY
              required:
                - type
                - period
            maxAmount:
              type: number
              exclusiveMinimum: 0
              examples:
                - 100.5
                - 0
                - 1234.99
              description: Amount in USD.
            filter:
              type: object
              properties:
                channels:
                  minItems: 1
                  type: array
                  items:
                    type: string
                    enum:
                      - ATM
                      - POS
                      - ECOMMERCE
                    example: ATM
                merchant:
                  oneOf:
                    - type: object
                      properties:
                        dimension:
                          type: string
                          const: MCC
                        codes:
                          minItems: 1
                          type: array
                          items:
                            type: string
                      required:
                        - dimension
                        - codes
                      title: Mcc
                    - type: object
                      properties:
                        dimension:
                          type: string
                          const: MERCHANT_COUNTRY
                        countries:
                          minItems: 1
                          type: array
                          items:
                            type: string
                            minLength: 2
                            maxLength: 2
                      required:
                        - dimension
                        - countries
                      title: MerchantCountry
          required:
            - window
            - maxAmount
          description: Cap cumulative spend over a calendar window.
        createdAt:
          type: string
          description: ISO 8601 creation timestamp.
        updatedAt:
          type: string
          description: ISO 8601 last-update timestamp.
      required:
        - id
        - type
        - scope
        - status
        - name
        - config
        - createdAt
        - updatedAt
    AuthorizationCountLimitPolicy:
      type: object
      properties:
        id:
          type: string
          description: >-
            Policy ID. A UUID for your policies; a stable identifier for
            platform policies.
        type:
          type: string
          const: AUTHORIZATION_COUNT_LIMIT
        scope:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  const: PROJECT
              required:
                - type
              title: Project
            - type: object
              properties:
                type:
                  type: string
                  const: USER
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: User
            - type: object
              properties:
                type:
                  type: string
                  const: CARD
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: Card
          description: Where the policy attaches.
        status:
          type: string
          enum:
            - ACTIVE
            - DISABLED
          example: ACTIVE
        name:
          type: string
          minLength: 1
          maxLength: 128
          description: Human-readable label.
        config:
          type: object
          properties:
            window:
              type: object
              properties:
                type:
                  type: string
                  const: CALENDAR
                period:
                  type: string
                  enum:
                    - DAILY
                    - WEEKLY
                    - MONTHLY
                    - YEARLY
                    - LIFETIME
                  example: DAILY
              required:
                - type
                - period
            maxCount:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
              description: Maximum number of transactions in the window.
            filter:
              type: object
              properties:
                channels:
                  minItems: 1
                  type: array
                  items:
                    type: string
                    enum:
                      - ATM
                      - POS
                      - ECOMMERCE
                    example: ATM
                merchant:
                  oneOf:
                    - type: object
                      properties:
                        dimension:
                          type: string
                          const: MCC
                        codes:
                          minItems: 1
                          type: array
                          items:
                            type: string
                      required:
                        - dimension
                        - codes
                      title: Mcc
                    - type: object
                      properties:
                        dimension:
                          type: string
                          const: MERCHANT_COUNTRY
                        countries:
                          minItems: 1
                          type: array
                          items:
                            type: string
                            minLength: 2
                            maxLength: 2
                      required:
                        - dimension
                        - countries
                      title: MerchantCountry
          required:
            - window
            - maxCount
          description: Cap the number of transactions over a calendar window.
        createdAt:
          type: string
          description: ISO 8601 creation timestamp.
        updatedAt:
          type: string
          description: ISO 8601 last-update timestamp.
      required:
        - id
        - type
        - scope
        - status
        - name
        - config
        - createdAt
        - updatedAt
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key as Bearer token

````