Moneris Customers API

Perform and Manage customers

Operations 5

POST /customers Create Customer #
GET /customers List Customers #
DELETE /customers/{customer-id} Delete Customer #
GET /customers/{customer-id} Retrieve Customer #
PUT /customers/{customer-id} Update Customer #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/moneris-customers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

moneris-customers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.6.1
  title: Moneris Customers API
  description: 'Moneris API Platform



    [<img src="https://run.pstmn.io/button.svg" alt="Run In Postman" style="width: 128px; height:32px;">](https://god.gw.postman.com/run-collection/25575461-f04750a0-88e9-4c83-8b58-a3aff15eeea8?action=collection%2Ffork&collection-url=entityId%3D25575461-f04750a0-88e9-4c83-8b58-a3aff15eeea8%26entityType%3Dcollection%26workspaceId%3D5d2a9a0f-57a7-441c-b2af-fe6315e80a08)'
  termsOfService: https://www.moneris.com/en/legal/terms-of-use
  contact:
    url: https://api-developer.moneris.com
    email: UnifiedAPI@moneris.com
  license:
    name: Moneris
    url: https://developer.moneris.com/Agreements/Terms%20of%20Use
  x-audience: external-public
servers:
- url: https://api.sb.moneris.io
  description: Sandbox server (uses test data)
  x-internal: false
- url: https://api.moneris.io
  description: Production server (uses live data)
  x-internal: false
tags:
- name: Customers
  description: Perform and Manage customers
paths:
  /customers:
    description: 'This API allows to manage past and recurring customers.

      Very useful when tracking and managing charges belonging to the same customer.

      '
    parameters:
    - $ref: '#/components/parameters/apiVersion'
    - $ref: '#/components/parameters/correlationId'
    - $ref: '#/components/parameters/merchantId'
    post:
      summary: Create Customer
      description: This operation is used to created a new customer.
      operationId: createCustomers
      security:
      - OAuth2:
        - customer.write
      - ApiKeyAuth: []
      tags:
      - Customers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createCustomerRequest'
      responses:
        '201':
          $ref: '#/components/responses/createCustomerSuccessResponse'
        '400':
          $ref: '#/components/responses/badRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '409':
          $ref: '#/components/responses/conflict'
        '422':
          $ref: '#/components/responses/unprocessableContent'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServer'
        '503':
          $ref: '#/components/responses/serviceUnavailable'
    get:
      summary: List Customers
      description: Returns a paginated list of customers.
      operationId: getCustomers
      security:
      - OAuth2:
        - customer.read
      - OAuth2:
        - customer.write
      - ApiKeyAuth: []
      tags:
      - Customers
      parameters:
      - $ref: '#/components/parameters/pageBeforeCursor'
      - $ref: '#/components/parameters/pageLimit'
      - $ref: '#/components/parameters/createdFrom'
      - $ref: '#/components/parameters/createdTo'
      responses:
        '200':
          $ref: '#/components/responses/listCustomersSuccessResponse'
        '400':
          $ref: '#/components/responses/invalidListbadRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServer'
        '503':
          $ref: '#/components/responses/serviceUnavailable'
  /customers/{customer-id}:
    parameters:
    - $ref: '#/components/parameters/apiVersion'
    - $ref: '#/components/parameters/correlationId'
    - $ref: '#/components/parameters/customerId'
    - $ref: '#/components/parameters/merchantId'
    delete:
      summary: Delete Customer
      description: Delete a customer by their Id
      operationId: deleteCustomer
      security:
      - OAuth2:
        - customer.write
      - ApiKeyAuth: []
      tags:
      - Customers
      responses:
        '204':
          $ref: '#/components/responses/customerDeleteSuccessResponse'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/customerNotFoundResponse'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServer'
        '503':
          $ref: '#/components/responses/serviceUnavailable'
    get:
      summary: Retrieve Customer
      description: Retrieve a customer by their Id.
      operationId: getCustomer
      security:
      - OAuth2:
        - customer.read
      - OAuth2:
        - customer.write
      - ApiKeyAuth: []
      tags:
      - Customers
      responses:
        '200':
          $ref: '#/components/responses/retrieveCustomerSuccessResponse'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/customerNotFoundResponse'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServer'
        '503':
          $ref: '#/components/responses/serviceUnavailable'
    put:
      summary: Update Customer
      description: Updates customer's details such as name, address etc...
      operationId: updateCustomer
      security:
      - OAuth2:
        - customer.write
      - ApiKeyAuth: []
      tags:
      - Customers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customerRequest'
      responses:
        '200':
          $ref: '#/components/responses/customerUpdateSuccessResponse'
        '400':
          $ref: '#/components/responses/badRequest'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/customerNotFoundResponse'
        '409':
          $ref: '#/components/responses/concurrencyConflict'
        '422':
          $ref: '#/components/responses/unprocessableContent'
        '429':
          $ref: '#/components/responses/tooManyRequests'
        '500':
          $ref: '#/components/responses/internalServer'
        '503':
          $ref: '#/components/responses/serviceUnavailable'
components:
  schemas:
    customerList:
      title: customerList
      type: object
      properties:
        data:
          description: List of customers.
          type: array
          items:
            $ref: '#/components/schemas/customer'
        self:
          $ref: '#/components/schemas/self'
        first:
          $ref: '#/components/schemas/first'
        last:
          $ref: '#/components/schemas/last'
        next:
          $ref: '#/components/schemas/next'
        previous:
          $ref: '#/components/schemas/previous'
      required:
      - data
    customer:
      title: customer
      type: object
      properties:
        customerId:
          $ref: '#/components/schemas/customerId'
        merchantId:
          $ref: '#/components/schemas/merchantId'
        createdAt:
          $ref: '#/components/schemas/createdAt'
        modifiedAt:
          $ref: '#/components/schemas/modifiedAt'
        firstName:
          $ref: '#/components/schemas/firstName'
        middleName:
          $ref: '#/components/schemas/middleName'
        lastName:
          $ref: '#/components/schemas/lastName'
        companyName:
          $ref: '#/components/schemas/companyName'
        address:
          type:
          - object
          - 'null'
          description: 'The postal address including street, town/city, province, and postal code.

            Optionally an unit number can be provided.

            '
          properties:
            unitNumber:
              type:
              - string
              - 'null'
              description: Unit number
              minLength: 1
              maxLength: 19
              example: 123A
            streetNumber:
              type:
              - string
              - 'null'
              description: Street number
              minLength: 1
              maxLength: 19
              example: '3300'
            streetName:
              type:
              - string
              - 'null'
              description: Street name
              minLength: 1
              maxLength: 100
              example: Bloor
            city:
              type:
              - string
              - 'null'
              description: 'Identifies the city.

                '
              minLength: 1
              maxLength: 50
              example: Toronto
            province:
              type:
              - string
              - 'null'
              description: 'Province or state ISO 3166-2 code '
              minLength: 1
              maxLength: 3
              format: iso-3166-2
              example: 'ON'
            postalCode:
              type:
              - string
              - 'null'
              description: Postal or zip code
              minLength: 1
              maxLength: 30
              example: M8X 2X2
            country:
              type:
              - string
              - 'null'
              description: "Provides the two letter country code according the ISO 3166-1 alpha-2 standard. \nFor a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.\n"
              minLength: 2
              maxLength: 2
              example: CA
              format: iso-3166
          example:
            unitNumber: 123A
            streetNumber: '3300'
            streetName: Bloor Street West
            city: Toronto
            province: 'ON'
            postalCode: M8X 2X2
            country: CA
        shippingAddress:
          type:
          - object
          - 'null'
          description: 'The postal address including street, town/city, province, and postal code.

            Optionally an unit number can be provided.

            '
          properties:
            unitNumber:
              type:
              - string
              - 'null'
              description: Unit number
              minLength: 1
              maxLength: 19
              example: 123A
            streetNumber:
              type:
              - string
              - 'null'
              description: Street number
              minLength: 1
              maxLength: 19
              example: '3300'
            streetName:
              type:
              - string
              - 'null'
              description: Street name
              minLength: 1
              maxLength: 100
              example: Bloor
            city:
              type:
              - string
              - 'null'
              description: 'Identifies the city.

                '
              minLength: 1
              maxLength: 50
              example: Toronto
            province:
              type:
              - string
              - 'null'
              description: 'Province or state ISO 3166-2 code '
              minLength: 1
              maxLength: 3
              format: iso-3166-2
              example: 'ON'
            postalCode:
              type:
              - string
              - 'null'
              description: Postal or zip code
              minLength: 1
              maxLength: 30
              example: M8X 2X2
            country:
              type:
              - string
              - 'null'
              description: "Provides the two letter country code according the ISO 3166-1 alpha-2 standard. \nFor a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.\n"
              minLength: 2
              maxLength: 2
              example: CA
              format: iso-3166
          example:
            unitNumber: 123A
            streetNumber: '3300'
            streetName: Bloor Street West
            city: Toronto
            province: 'ON'
            postalCode: M8X 2X2
            country: CA
        phoneNumber:
          type:
          - string
          - 'null'
          description: Phone number.
          pattern: ^\+[1-9]\d{1,14}$
          minLength: 3
          maxLength: 16
          example: '+18663197450'
        email:
          type:
          - string
          - 'null'
          format: email
          description: 'Contains the customer''s email address.


            For standard email protocols, visit: https://www.rfc-editor.org/rfc/rfc5322

            '
          minLength: 1
          maxLength: 320
          example: moneris@moneris.com
        customData:
          $ref: '#/components/schemas/customData'
      required:
      - customerId
      - merchantId
      - createdAt
    companyName:
      type:
      - string
      - 'null'
      description: Identifies the associated company name
      minLength: 1
      maxLength: 50
      example: SP Ltd
    modifiedAt:
      description: Time at which the object was modified
      type:
      - string
      - 'null'
      format: date-time
      example: '2019-07-30T06:43:40.252Z'
    dateTime:
      type: string
      format: date-time
      example: '2019-07-30T06:43:40.252Z'
      description: Date & Time
    customData:
      description: Merchant can send custom meta data with the transaction in this object. Moneris will echo these values back in response.
      type:
      - object
      - 'null'
      additionalProperties:
        type: string
        minLength: 1
        maxLength: 50
      maxProperties: 10
    self:
      description: Pagination link pointing to the current page.
      type:
      - string
      - 'null'
      format: uri-reference
    customerId:
      type: string
      description: Unique Identification for the Customer
      example: ci0105ARZ3NDEKTSV4RRFFQ69G5FAV
      pattern: ^[A-Za-z]{2}\d{2}[A-Za-z0-9]{26}$
      minLength: 30
      maxLength: 30
    parameterError:
      title: Parameter error
      description: Request property or header related error.
      type: object
      properties:
        parameterName:
          type: string
          description: Property or header name. Can contain nested path separated by '.'
          example: address.postalCode
        parameterValue:
          type:
          - string
          - 'null'
          description: Property or header value string representation.
          example: MAP3J8
        reasonCode:
          type: string
          description: Reason that triggered the error.
          enum:
          - INVALID_FORMAT
          - REQUIRED_FIELD
          - INVALID_VALUE
          example: INVALID_FORMAT
        errorMessage:
          type:
          - string
          - 'null'
          description: Human readable description of the error.
          example: String 'MAP3J8' does not match the postal code pattern.
      required:
      - parameterName
      - reasonCode
    createdAt:
      description: Time at which the object was created
      type: string
      format: date-time
      example: '2019-07-30T06:43:40.252Z'
    next:
      description: Pagination link pointing to the next page.
      type:
      - string
      - 'null'
      format: uri-reference
    idempotencyKey:
      type: string
      description: "A Unique Identifier that is required for handling idempotent requests. \n\nNote: Moneris encourages the use of UUID Version 4 in APIs as an idempotency key.\"    \n"
      minLength: 1
      maxLength: 36
      example: 6q5w4e7r8t9y
    middleName:
      type:
      - string
      - 'null'
      description: Customer's middle name.
      minLength: 1
      maxLength: 30
      example: J.
    error:
      description: Error response details.
      properties:
        type:
          description: 'A URI reference that identifies the problem type.  Ideally it should be a stable URL to the documentation of the details about this type of error but it also can be a URN.  If nothing can be provided, a "about:blank" value is returned.

            '
          type: string
          format: uri
          example: https://api-developer.moneris.com/responsehandling
        title:
          description: 'A short, human-readable summary of the problem type.   It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization

            '
          type:
          - string
          - 'null'
          example: INSUFFICIENT_FUNDS
        status:
          description: 'it conveys the HTTP status code used for the convenience of the consumer.

            '
          type:
          - integer
          - 'null'
          format: int32
          minimum: 100
          maximum: 505
        detail:
          description: 'A human-readable message providing more details about the error. For card errors, these messages can be shown to your users.

            '
          type:
          - string
          - 'null'
          example: Funds are insufficient to execute the operation.
        instance:
          description: 'A URI reference that identifies the specific occurrence of the problem. Typically, this resolves to a resource that might include more details about the problem.

            '
          type:
          - string
          - 'null'
          example: /payments/12f3e0a8-1d68-2b86-dd30-4ca51bb66e10
          format: uri-reference
        category:
          description: "The type of error returned. \n - `API_ERROR`: This occurs due to an intermittent issue.  \n - `IDEMPOTENCY_ERROR`: The idempotency key has already been used.\n - `INVALID_REQUEST_ERROR`: The data provided in the request is invalid.\n - `DECLINED_ERROR`: Transaction was declined by the issuer.\n - `UNAUTHORIZED_ERROR`: Caller not authenticated, or not allowed to execute the current operation.\n - `INTERNAL_SERVER_ERROR`: An internal issue with our servers has occured.\n"
          enum:
          - API_ERROR
          - IDEMPOTENCY_ERROR
          - INVALID_REQUEST_ERROR
          - DECLINED_ERROR
          - UNAUTHORIZED_ERROR
          - INTERNAL_SERVER_ERROR
          - null
          type:
          - string
          - 'null'
          example: DECLINED_ERROR
        errors:
          type: array
          description: List of validation errors when error category is INVALID_REQUEST_ERROR.
          items:
            type: object
            $ref: '#/components/schemas/parameterError'
          example:
          - parameterName: address.postalCode
            parameterValue: MAP3J8
            errorMessage: address.Postal code does not match regular expression
            reasonCode: INVALID_FORMAT
      title: API Error
      type: object
      required:
      - type
    lastName:
      type:
      - string
      - 'null'
      description: Last name.
      minLength: 1
      maxLength: 30
      example: Doe
    customerRequest:
      title: customerRequest
      type: object
      properties:
        firstName:
          $ref: '#/components/schemas/firstName'
        middleName:
          $ref: '#/components/schemas/middleName'
        lastName:
          $ref: '#/components/schemas/lastName'
        companyName:
          $ref: '#/components/schemas/companyName'
        address:
          title: customerAddress
          type:
          - object
          - 'null'
          description: 'The postal address including street, town/city, province, and postal code.

            Optionally an unit number can be provided.

            '
          properties:
            unitNumber:
              type:
              - string
              - 'null'
              description: Unit number
              minLength: 1
              maxLength: 19
              example: 123A
            streetNumber:
              type:
              - string
              - 'null'
              description: Street number
              minLength: 1
              maxLength: 19
              example: '3300'
            streetName:
              type:
              - string
              - 'null'
              description: Street name
              minLength: 1
              maxLength: 100
              example: Bloor
            city:
              type:
              - string
              - 'null'
              description: 'Identifies the city.

                '
              minLength: 1
              maxLength: 50
              example: Toronto
            province:
              type:
              - string
              - 'null'
              description: 'Province or state ISO 3166-2 code '
              minLength: 1
              maxLength: 3
              format: iso-3166-2
              example: 'ON'
            postalCode:
              type:
              - string
              - 'null'
              description: Postal or zip code
              minLength: 1
              maxLength: 30
              example: M8X 2X2
            country:
              type:
              - string
              - 'null'
              description: "Provides the two letter country code according the ISO 3166-1 alpha-2 standard. \nFor a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.\n"
              minLength: 2
              maxLength: 2
              example: CA
              format: iso-3166
          example:
            unitNumber: 123A
            streetNumber: '3300'
            streetName: Bloor Street West
            city: Toronto
            province: 'ON'
            postalCode: M8X 2X2
            country: CA
        shippingAddress:
          type:
          - object
          - 'null'
          description: 'The postal address including street, town/city, province, and postal code.

            Optionally an unit number can be provided.

            '
          properties:
            unitNumber:
              type:
              - string
              - 'null'
              description: Unit number
              minLength: 1
              maxLength: 19
              example: 123A
            streetNumber:
              type:
              - string
              - 'null'
              description: Street number
              minLength: 1
              maxLength: 19
              example: '3300'
            streetName:
              type:
              - string
              - 'null'
              description: Street name
              minLength: 1
              maxLength: 100
              example: Bloor
            city:
              type:
              - string
              - 'null'
              description: 'Identifies the city.

                '
              minLength: 1
              maxLength: 50
              example: Toronto
            province:
              type:
              - string
              - 'null'
              description: 'Province or state ISO 3166-2 code '
              minLength: 1
              maxLength: 3
              format: iso-3166-2
              example: 'ON'
            postalCode:
              type:
              - string
              - 'null'
              description: Postal or zip code
              minLength: 1
              maxLength: 30
              example: M8X 2X2
            country:
              type:
              - string
              - 'null'
              description: "Provides the two letter country code according the ISO 3166-1 alpha-2 standard. \nFor a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.\n"
              minLength: 2
              maxLength: 2
              example: CA
              format: iso-3166
          example:
            unitNumber: 123A
            streetNumber: '3300'
            streetName: Bloor Street West
            city: Toronto
            province: 'ON'
            postalCode: M8X 2X2
            country: CA
        phoneNumber:
          type:
          - string
          - 'null'
          description: Phone number.
          pattern: ^\+[1-9]\d{1,14}$
          minLength: 3
          maxLength: 16
          example: '+18663197450'
        email:
          type:
          - string
          - 'null'
          format: email
          description: 'Contains the customer''s email address.


            For standard email protocols, visit: https://www.rfc-editor.org/rfc/rfc5322

            '
          minLength: 1
          maxLength: 320
          example: moneris@moneris.com
        customData:
          $ref: '#/components/schemas/customData'
    last:
      description: Pagination link pointing to the last page.
      type:
      - string
      - 'null'
      format: uri-reference
    first:
      description: Pagination link pointing to the first page.
      type:
      - string
      - 'null'
      format: uri-reference
    previous:
      description: Pagination link pointing to the previous page.
      type:
      - string
      - 'null'
      format: uri-reference
    apiVersion:
      description: 'The endpoint''s API Version.  Must be provided through headers.

        '
      type: string
      example: '2025-08-14'
      default: '2025-08-14'
    merchantId:
      type: string
      description: "Thirteen character long identification provided to merchants by Moneris. \n"
      minLength: 13
      maxLength: 13
      example: 0123456789101
    firstName:
      type:
      - string
      - 'null'
      description: First name.
      minLength: 1
      maxLength: 30
      example: John
    resourceId:
      type: string
      description: Used to identify API resources which may be required for future follow-on transactions; i.e. Refunds, Corrections, Completions, Reversals, etc.
      pattern: ^[A-Za-z]{2}\d{2}[A-Za-z0-9]{26}$
      minLength: 30
      maxLength: 30
      example: pi0105ARZ3NDEKTSV4RRFFQ69G5FAV
    createCustomerRequest:
      title: customerRequest
      type: object
      properties:
        idempotencyKey:
          $ref: '#/components/schemas/idempotencyKey'
        firstName:
          $ref: '#/components/schemas/firstName'
        middleName:
          $ref: '#/components/schemas/middleName'
        lastName:
          $ref: '#/components/schemas/lastName'
        companyName:
          $ref: '#/components/schemas/companyName'
        address:
          title: customerAddress
          type:
          - object
          - 'null'
          description: 'The postal address including street, town/city, province, and postal code.

            Optionally an unit number can be provided.

            '
          properties:
            unitNumber:
              type:
              - string
              - 'null'
              description: Unit number
              minLength: 1
              maxLength: 19
              example: 123A
            streetNumber:
              type:
              - string
              - 'null'
              description: Street number
              minLength: 1
              maxLength: 19
              example: '3300'
            streetName:
              type:
              - string
              - 'null'
              description: Street name
              minLength: 1
              maxLength: 100
              example: Bloor
            city:
              type:
              - string
              - 'null'
              description: 'Identifies the city.

                '
              minLength: 1
              maxLength: 50
              example: Toronto
            province:
              type:
              - string
              - 'null'
              description: 'Province or state ISO 3166-2 code '
              minLength: 1
              maxLength: 3
              format: iso-3166-2
              example: 'ON'
            postalCode:
              type:
              - string
              - 'null'
              description: Postal or zip code
              minLength: 1
              maxLength: 30
              example: M8X 2X2
            country:
              type:
              - string
              - 'null'
              description: "Provides the two letter country code according the ISO 3166-1 alpha-2 standard. \nFor a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.\n"
              minLength: 2
              maxLength: 2
              example: CA
              format: iso-3166
          example:
            unitNumber: 123A
            streetNumber: '3300'
            streetName: Bloor Street West
            city: Toronto
            province: 'ON'
            postalCode: M8X 2X2
            country: CA
        shippingAddress:
          type:
          - object
          - 'null'
          description: 'The postal address including street, town/city, province, and postal code.

            Optionally an unit number can be provided.

            '
          properties:
            unitNumber:
              type:
              - string
              - 'null'
              description: Unit number
              minLength: 1
              maxLength: 19
              example: 123A
            streetNumber:
              type:
              - string
              - 'null'
              description: Street number
              minLength: 1
              maxLength: 19
              example: '3300'
            streetName:
              type:
              - string
              - 'null'
              description: Street name
              minLength: 1
              maxLength: 100
              example: Bloor
            city:
              type:
              - string
              - 'null'
              description: 'Identifies the city.

                '
              minLength: 1
              maxLength: 50
              example: Toronto
            province:
              type:
              - string
              - 'null'
              description: 'Province or state ISO 3166-2 code '
              minLength: 1
              maxLength: 3
              format: iso-3166-2
              example: 'ON'
            postalCode:
              type:
              - string
              - 'null'
              description: Postal or zip code
              minLength: 1
              maxLength: 30
              example: M8X 2X2
            country:
              type:
              - string
              - 'null'
              description: "Provides the two letter country code according the ISO 3166-1 alpha-2 standard. \nFor a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.\n"
              minLength: 2
              maxLength: 2
              example: CA
              format: iso-3166
          example:
            unitNumber: 123A
            streetNumber: '3300'
            streetName: Bloor Street West
            city: Toronto
            province: 'ON'
            postalCode: M8X 2X2
            country: CA
        phoneNumber:
          type:
          - string
          - 'null'
          description: Phone number.
          pattern: ^\+[1-9]\d{1,14}$
          minLength: 3
          maxLength: 16
          example: '+18663197450'
        email:
          type:
          - string
          - 'null'
          format: email
          description: 'Contains the customer''s email address.


            For standard email protocols, visit: https://www.rfc-editor.org/rfc/rfc5322

            '
          minLength: 1
          maxLength: 320
          example: moneris@moneris.com
        customData:
          $ref: '#/components/schemas/customData'
      required:
      - idempotencyKey
  responses:
    invalidListbadRequest:
      description: Bad Request.
      headers:
        Api-Version:
          $ref: '#/components/headers/apiVersion'
        X-Correlation-Id:
          $ref: '#/components/headers/correlationId'
        Sunset:
          $ref: '#/components/headers/sunset'
        X-RateLimit-Limit:
          $ref: '#/components/headers/rateLimitCount'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/rateLimitRemaining'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            idempotency_error:
              $ref: '#/components/examples/InvalidListRequestErrorResponse'
    conflict:
      description: Request could not be completed due to a conflict with resource state or existing idempotency key.
      headers:
        Api-Version:
          $ref: '#/components/headers/apiVersion'
        X-Correlation-Id:
          $ref: '#/components/headers/correlationId'
        Sunset:
     

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/moneris/refs/heads/main/openapi/moneris-customers-api-openapi.yml