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

# Create a new Monerium integration

> Creates a new Monerium integration for the authenticated user and associates it with the authenticated user's EOA address.
All operations on Monerium are done through their API, this endpoint is just a way to reuse the GP KYC to open an account on Monerium.

- If the user does not have a Monerium account, this endpoint will create a new one and associate it with the authenticated user's EOA address.
- If the user already has a Monerium account, you do not need to call this endpoint again.

Just use the Monerium API directly to request access to the user's monerium account.
Check their documentation for more information: https://monerium.dev/api-docs/v2




## OpenAPI

````yaml https://api.gnosispay.com/api-docs/spec.json post /api/v1/integrations/monerium
openapi: 3.0.0
info:
  title: GnosisPay API
  version: 1.0.0
  description: OpenAPI documentation for GnosisPay
servers:
  - url: https://api.gnosispay.com
security: []
tags:
  - name: Account Management
    description: Information about your Account
  - name: Authentication
    description: Authenticate to our API using SIWE
  - name: Card Management
    description: Manage all your Cards
  - name: IBAN
    description: Integrate with Monerium to issue IBANs
  - name: KYC
    description: KYC using Sumsub SDK
  - name: Physical Card Order
    description: Order a Physical Card and manage the process
  - name: Rewards
    description: Cashback Rewards
  - name: Safe Management
    description: Manage your Safe
  - name: Transactions
    description: Manage Card Transactions
  - name: User
    description: Manage User Information
  - name: Webhooks
    description: Manage Webhooks
paths:
  /api/v1/integrations/monerium:
    post:
      tags:
        - IBAN
      summary: Create a new Monerium integration
      description: >
        Creates a new Monerium integration for the authenticated user and
        associates it with the authenticated user's EOA address.

        All operations on Monerium are done through their API, this endpoint is
        just a way to reuse the GP KYC to open an account on Monerium.


        - If the user does not have a Monerium account, this endpoint will
        create a new one and associate it with the authenticated user's EOA
        address.

        - If the user already has a Monerium account, you do not need to call
        this endpoint again.


        Just use the Monerium API directly to request access to the user's
        monerium account.

        Check their documentation for more information:
        https://monerium.dev/api-docs/v2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                signature:
                  type: string
                  description: >
                    Signature of the message "I hereby declare that I am the
                    address owner."

                    This signature is created by signing the message with the
                    user's wallet.

                    The exact message can be retrieved from the
                    /api/v1/ibans/signing-message endpoint.

                    The signature is used to verify ownership of the address on
                    Monerium.

                    Format: Ethereum signature string (e.g., "0x1234...").
      responses:
        '200':
          description: Successfully created a new Monerium integration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoneriumIntegrationResponse'
              examples:
                success:
                  summary: Success
                  value:
                    data:
                      success: true
                      status: 200
                      moneriumProfileId: profile_123456789
                      iban: DE44500105175407324931
                      bic: GENODEM1GLS
        '400':
          description: Validation error on Monerium side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoneriumIntegrationResponse'
              examples:
                validation_error:
                  summary: Validation error on Monerium side
                  value:
                    data:
                      success: false
                      status: 400
                      description: Failed to create Monerium profile
                      responseData:
                        code: 400
                        status: Bad Request
                        message: Validation errors
                        errors:
                          firstName: First name is missing
                      responseHeaders:
                        x-correlation-id: '1234567890'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: User not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                user_not_found:
                  summary: User not found
                  value:
                    message: User not found
        '422':
          description: Validation errors on GP side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                signer_address_required:
                  summary: Signer address is required
                  value:
                    message: Signer address is required
                validation_error:
                  summary: Signature is missing
                  value:
                    message: Invalid request data
                    errors:
                      validation: Signature is required
                signer_address_not_verified:
                  summary: >-
                    Signer address is not verified. The signer address needs to
                    be a verified EOA address.
                  value:
                    message: Signer address is not verified
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    MoneriumIntegrationResponse:
      type: object
      properties:
        data:
          type: object
          required:
            - success
            - status
            - description
          properties:
            success:
              type: boolean
              description: >-
                Indicates whether the Monerium integration was successfully
                created
              example: true
            status:
              type: number
              description: HTTP status code of the operation
              example: 200
            description:
              type: string
              description: Human-readable description of the operation result
              example: Successfully setup Monerium integration
            responseData:
              type: object
              description: Raw response data from Monerium API (only present on errors)
              nullable: true
            moneriumProfileId:
              type: string
              description: >-
                The Monerium profile ID assigned to the user (only present on
                success)
              nullable: true
              example: profile_123456789
            iban:
              type: string
              description: The assigned IBAN number (only present on success)
              nullable: true
              example: DE44500105175407324931
            bic:
              type: string
              description: The assigned BIC code (only present on success)
              nullable: true
              example: GENODEM1GLS
            responseHeaders:
              type: object
              description: Headers from the Monerium API response (only present on errors)
              nullable: true
              example:
                content-type: application/json
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
          example: Internal server error
  responses:
    UnauthorizedError:
      description: Unauthorized Error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````