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

# Create Collection

> Create Collection is where users can set up recurring payment schedules and subscription billing for their customers with flexible frequency options.



## OpenAPI

````yaml POST /collections
openapi: 3.0.1
info:
  title: Mona API
  description: >-
    Create checkout sessions for the gateway, complete full payments via API or
    lookup customers.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.development.mona.ng
    description: Development environment
  - url: https://api.sandbox.mona.ng
    description: Sandbox environment
  - url: https://api.mona.ng
    description: Production environment
security:
  - apiKey: []
paths:
  /collections:
    post:
      description: >-
        Create Collection is where users can set up recurring payment schedules
        and subscription billing for their customers with flexible frequency
        options.
      requestBody:
        description: Collection creation parameters
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Collection'
        required: true
      responses:
        '200':
          description: Collection created response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionResponse'
        '400':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Collection:
      allOf:
        - required:
            - maximumAmount
            - debitType
            - startDate
            - expiryDate
            - schedule
          type: object
          properties:
            maximumAmount:
              type: string
              description: >-
                The maximum amount for the collection in kobo (Nigerian minor
                currency unit)
              example: '600'
            debitType:
              type: string
              description: Type of debit initiation
              enum:
                - MONA
                - MERCHANT
              example: MERCHANT
            startDate:
              type: string
              format: date-time
              description: Start date for the collection
              example: '2025-05-22T05:43:00'
            expiryDate:
              type: string
              format: date-time
              description: Expiry date for the collection
              example: '2025-06-19T08:42:00'
            reference:
              type: string
              description: Optional reference for the collection
              example: Testing Mona Scheduled Collection--Succeed
            schedule:
              type: object
              description: Schedule configuration for the collection
              required:
                - type
                - frequency
              properties:
                type:
                  type: string
                  enum:
                    - SCHEDULED
                    - SUBSCRIPTION
                  example: SCHEDULED
                frequency:
                  type: string
                  enum:
                    - WEEKLY
                    - MONTHLY
                    - QUARTERLY
                    - SEMI_ANNUAL
                    - ANNUAL
                  example: WEEKLY
                amount:
                  type: string
                  description: >-
                    Fixed amount for the collection in kobo (Nigerian minor
                    currency unit)
                  example: '500'
                entries:
                  type: array
                  description: List of individual collection entries
                  items:
                    type: object
                    required:
                      - date
                      - amount
                    properties:
                      date:
                        type: string
                        format: date-time
                        example: '2025-05-22T05:43:00'
                      amount:
                        type: string
                        description: >-
                          Amount for this collection entry in kobo (Nigerian
                          minor currency unit)
                        example: '200'
            agentId:
              type: string
              description: >-
                ObjectId of the user associated with your company that is the
                agent processing the collection
              example: 507f1f77bcf86cd799439011
    CollectionResponse:
      allOf:
        - required:
            - success
            - data
          type: object
          properties:
            success:
              description: Indicates if the request was successful
              type: boolean
              example: true
            data:
              type: object
              required:
                - id
                - isConsented
                - collection
                - createdAt
                - updatedAt
              properties:
                id:
                  type: string
                  description: Unique collection identifier
                  example: 68554203285367d030f8d398
                isConsented:
                  type: boolean
                  description: Whether the user has consented to the collection
                  example: false
                collection:
                  type: object
                  description: Detailed collection information
                  properties:
                    maxAmount:
                      type: string
                      description: >-
                        Maximum amount for the collection in kobo (Nigerian
                        minor currency unit)
                      example: '10000'
                    expiryDate:
                      type: string
                      format: date-time
                      description: Expiry date for the collection
                      example: '2025-06-24T00:00:00.000Z'
                    startDate:
                      type: string
                      format: date-time
                      description: Start date for the collection
                      example: '2025-06-20T13:12:03.075Z'
                    monthlyLimit:
                      type: string
                      description: >-
                        Monthly limit for the collection in kobo (Nigerian minor
                        currency unit)
                      example: '10000'
                    schedule:
                      type: object
                      description: Schedule configuration for the collection
                      properties:
                        type:
                          type: string
                          enum:
                            - SCHEDULED
                            - SUBSCRIPTION
                          example: SCHEDULED
                        frequency:
                          type: string
                          enum:
                            - WEEKLY
                            - MONTHLY
                            - QUARTERLY
                            - SEMI_ANNUAL
                            - ANNUAL
                          nullable: true
                          example: null
                        entries:
                          type: array
                          description: List of individual collection entries
                          items:
                            type: object
                            required:
                              - date
                              - amount
                            properties:
                              date:
                                type: string
                                format: date-time
                                example: '2025-06-22T11:11:00.000Z'
                              amount:
                                type: string
                                description: >-
                                  Amount for this collection entry in kobo
                                  (Nigerian minor currency unit)
                                example: '10000'
                        amount:
                          type: string
                          description: >-
                            Fixed amount for the collection in kobo (Nigerian
                            minor currency unit)
                          nullable: true
                          example: null
                    reference:
                      type: string
                      description: Reference for the collection
                      example: LOAN
                    status:
                      type: string
                      description: Current status of the collection
                      example: NOT_STARTED
                    lastCollectedAt:
                      type: string
                      format: date-time
                      nullable: true
                      description: Date of last collection
                      example: null
                    nextCollectionAt:
                      type: string
                      format: date-time
                      description: Date of next collection
                      example: '2025-06-20T13:12:03.075Z'
                    debitType:
                      type: string
                      description: Type of debit initiation
                      enum:
                        - MONA
                        - MERCHANT
                      example: MERCHANT
                    loanLinkToken:
                      type: string
                      description: Loan link token
                      example: 68554203285367d030f8d394
                createdAt:
                  type: string
                  format: date-time
                  description: Creation timestamp
                  example: '2025-06-20T11:12:03.816Z'
                updatedAt:
                  type: string
                  format: date-time
                  description: Last update timestamp
                  example: '2025-06-20T11:12:03.816Z'
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````