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

# Get All Payin Requests

<Tip>
  This endpoint is paginated to improve its performance. The example below shows
  how to fetch multiple pages.
</Tip>

```typescript theme={null}
import axios from "axios";

const getPage = async (input: { limit?: number; cursor?: string }) => {
  const response = await axios.get("https://api.palomma.com/v0/payinRequests", {
    headers: {
      Authorization: "Bearer <token>",
    },
    params: {
      ...input,
    },
  });
  if (!response.data) throw new Error();
  const { items, cursor, count } = response.data;
  return { items, cursor, count };
};

const getAll = async (input: { limit?: number }) => {
  let items: any[] = [];
  const firstPage = await getPage({ limit: input.limit });
  if (firstPage) {
    items = items.concat(firstPage.items);
    let currentCursor = firstPage.cursor;
    while (currentCursor !== null) {
      const nextPage = await getPage({
        limit: input.limit,
        cursor: currentCursor,
      });
      items = items.concat(nextPage.items);
      currentCursor = nextPage.cursor;
    }
  }
  return items;
};
```


## OpenAPI

````yaml GET /payinRequests
openapi: 3.0.0
info:
  title: Palomma API
  description: This API includes functionality of the Palomma API.
  version: 1.0.0
servers:
  - url: https://api.palomma.com/v0
    description: Production server
  - url: https://sandbox.api.palomma.com/v0
    description: Sandbox server
security:
  - BearerAuth: []
paths:
  /payinRequests:
    get:
      tags:
        - Payin Requests
      summary: Retrieve payin requests
      operationId: listPayinRequests
      parameters:
        - name: reference
          in: query
          description: Filter by reference provided on creation.
          schema:
            type: string
        - name: customerId
          in: query
          description: Filter by customerId.
          schema:
            type: string
        - name: payinSourceId
          in: query
          description: Filter by payinSourceId.
          schema:
            type: string
        - name: payinSettlementId
          in: query
          description: Filter by payinSettlementId.
          schema:
            type: string
        - name: limit
          in: query
          description: Number of records to return. Default is 20. Maximum is 100.
          schema:
            type: integer
        - name: cursor
          in: query
          description: >-
            A cursor for use in pagination. The cursor indicates where to start
            fetching the results.
          schema:
            type: string
      responses:
        '200':
          description: List of payin requests successfully retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/PayinRequest'
                  cursor:
                    $ref: '#/components/schemas/CursorResponse'
                  count:
                    type: integer
                    description: The total number of items returned.
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
components:
  schemas:
    PayinRequest:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this Payin Request.
          example: 01HPR83V7JBNJTKT303NTY3YGA
        reference:
          type: string
          description: Reference sent in by merchant to identify Payin Request.
        customerId:
          type: string
          description: >-
            Reference to customer who owns the Payin Source from which the Payin
            Request was created.
          example: 01HPR57X6QR5ZRKEEKBSDBW4RA
        customerDetails:
          $ref: '#/components/schemas/CustomerDetails'
          description: >-
            Details about the customer who owns the Payin Source from which the
            Payin Request was created.
        payinSourceId:
          type: string
          description: Reference to Payin Source from which the Payin Request was created.
          example: 01HPR7A40E44S0WDR189YXA8GH
        payinSourceDetails:
          $ref: '#/components/schemas/PayinSourceDetails'
          description: >-
            Details about the Payin Source from which the Payin Request was
            created.
        status:
          type: string
          enum:
            - processing
            - approved
            - partial
            - cancelled
          description: Status of the Payin Request.
          example: approved
        statusMessage:
          $ref: '#/components/schemas/StatusMessage'
        amount:
          type: number
          description: >-
            Amount to collect from the customer’s Payin Source. Must be an
            integer.
          example: 100000
        amountCollected:
          type: number
          description: >-
            Amount collected by Payin Request. Starts at 0 and changes on status
            change to "approved" or "partial".
          example: 100000
        fee:
          type: number
          description: >-
            Fee charged for the transaction. This fee will be subtracted from
            amountCollected at settlement time.
          example: 500
        targetMerchantAccountId:
          type: string
          description: >-
            Reference to Merchant Account. Safe to ignore if Merchant Accounts
            are not being used.
        createdAt:
          type: string
          format: date-time
          description: ISO string indicating when the payin request was created.
        updatedAt:
          type: string
          format: date-time
          description: ISO string indicating when the payin request was last updated.
    CursorResponse:
      type: string
      nullable: true
      description: >-
        A cursor for use in pagination. Provide this value in the cursor
        parameter to retrieve the next set of results. When there are no more
        results, the cursor will be null.
      example: >-
        fa4c20cf2b51f6a45377c98271e3754da1e29b6827928a8e0b40da5a7d53c971aa22c50b2c8ce83484a0dd36ee0e2570a0520a4f1f4817962d95ba65059b9a28da1a5d4ac7bfe7628fb917efd20608656da58b412ea758ec341cd6dfb226f8be263cefa811848b859a5a71f90f47533e01e969d49c0ac9e4e944b3d0fbd4e207
    CustomerDetails:
      type: object
      properties:
        reference:
          type: string
          description: >-
            An optional reference provided by the merchant to identify the
            customer.
        name:
          type: string
          description: >-
            First and last name for a natural person, and company name for a
            juridical person.
          example: Pepito Perez
        documentType:
          type: string
          description: Colombian ID type for customer.
          enum:
            - cc
            - ce
            - nit
        documentNumber:
          type: string
          description: Colombian ID number for customer.
          example: '1037551022'
        email:
          type: string
          description: Customer’s email.
          format: email
          example: pepito@gmail.com
        phoneNumber:
          type: string
          description: Customer’s phone number.
          example: '3013111111'
    PayinSourceDetails:
      type: object
      properties:
        reference:
          type: string
          description: Reference sent in by merchant to identify Payin Source.
        description:
          type: string
          description: An extra metadata field that can be included for visibility.
        partialPayinsEnabled:
          type: boolean
          description: >-
            Only available for Bancolombia. Partial debit will be made if the
            account does not have sufficient funds to debit the total amount. By
            default, no partial debits will be made.
        type:
          type: string
          description: Type of Payin Source created.
          enum:
            - bankAccount
            - bancolombiaToken
            - nequiToken
    StatusMessage:
      type: string
      description: >-
        Additional detail on the status. Only present when status is
        "cancelled".
      enum:
        - AUTHENTICATION_FAILED
        - CUSTOMER_CANCELLATION
        - DECLINED_BY_BANK
        - EXPIRED
        - INVALID_ACCOUNT
        - NOT_ENOUGH_FUNDS
        - ERROR
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````