Kanmon Users API

The Users API from Kanmon — 3 operation(s) for users.

Operations 5

GET /api/platform/v2/users Fetch users #
POST /api/platform/v2/users Create a user #
GET /api/platform/v2/users/{id} Fetch a user #
PATCH /api/platform/v2/users/{id} Update a user #
POST /api/platform/v2/users/merge Merge users from a source business into a target business #

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/kanmon-users-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

kanmon-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  description: Kanmon's public api. Contains all of the endpoints for both capital providers and platforms
  title: Kanmon Public V2 Bank Accounts Users API
  version: 2.0.0
servers:
- description: Production
  url: https://api.kanmon.com
- description: Sandbox
  url: https://api.kanmon.dev
- description: Local
  url: http://localhost:3333
- description: Staging
  url: https://workflow.concar.dev
tags:
- name: Users
paths:
  /api/platform/v2/users:
    get:
      operationId: getAllUsers
      parameters:
      - description: A comma delimited list of Kanmon’s unique IDs for users.
        example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6,70eaa08c-f7a5-4f3a-860d-a16dde5771e34
        explode: true
        in: query
        name: ids
        required: false
        schema:
          type: string
        style: form
      - description: A comma delimited list of your platform’s unique IDs for users.
        example: 12345,67890
        explode: true
        in: query
        name: platformUserIds
        required: false
        schema:
          type: string
        style: form
      - description: A comma delimited list of your platform’s unique business IDs for users.
        example: 12345,67890
        explode: true
        in: query
        name: platformBusinessIds
        required: false
        schema:
          type: string
        style: form
      - description: A comma delimited list of your Kanmon’s unique business IDs for users.
        example: d4824e09-7857-49cb-8dc1-3410d14a1621,361530c5-9180-4ec8-9287-44c5dc9d3686
        explode: true
        in: query
        name: businessIds
        required: false
        schema:
          type: string
        style: form
      - description: Whether to include secondary owners in results. Defaults to `false`.
        example: false
        explode: true
        in: query
        name: includeSecondaryOwners
        required: false
        schema:
          type: boolean
        style: form
      - description: The number of records to skip when performing pagination. Defaults to `0`.
        example: '0'
        explode: true
        in: query
        name: offset
        required: false
        schema:
          type: number
        style: form
      - description: The number of records to limit when performing pagination. Defaults to `100`, which is the max.
        example: '100'
        explode: true
        in: query
        name: limit
        required: false
        schema:
          type: number
        style: form
      - description: Filter for records where `createdAt` is greater than or equal to this value. ISO 8601 format.
        example: 2022-06-01 03:57:26.115000+00:00
        explode: true
        in: query
        name: createdAtStart
        required: false
        schema:
          type: string
        style: form
      - description: Filter for records where `createdAt` is less than or equal to this value. ISO 8601 format.
        example: 2022-06-01 03:57:26.115000+00:00
        explode: true
        in: query
        name: createdAtEnd
        required: false
        schema:
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUsersResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
          description: BadRequestException
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
          description: ForbiddenException
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
          description: TooManyRequestsException
          headers:
            X-RateLimit-Limit:
              description: Maximum number of requests allowed per minute.
              explode: false
              schema:
                type: integer
              style: simple
            X-RateLimit-Remaining:
              description: Number of remaining requests available.
              explode: false
              schema:
                type: integer
              style: simple
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
          description: InternalServerErrorException
      security:
      - Authorization: []
      summary: Fetch users
      tags:
      - Users
      x-readme:
        code-samples:
        - language: node
          install: npm install @kanmon/sdk
          name: SDK
          code: "\nkanmonApi.users.getAllUsers({\n  ...params...\n})\n    "
      x-accepts:
      - application/json
    post:
      operationId: createUser
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserRequestBody'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: User created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
          description: BadRequestException
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
          description: ForbiddenException
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessNotFoundException'
          description: BusinessNotFoundException
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createUser_409_response'
          description: PrimaryBusinessOwnerAlreadyExistsForBusinessException, UserAlreadyExistsWithPlatformUserIdException, UserAlreadyExistsWithEmailException
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
          description: TooManyRequestsException
          headers:
            X-RateLimit-Limit:
              description: Maximum number of requests allowed per minute.
              explode: false
              schema:
                type: integer
              style: simple
            X-RateLimit-Remaining:
              description: Number of remaining requests available.
              explode: false
              schema:
                type: integer
              style: simple
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
          description: InternalServerErrorException
      security:
      - Authorization: []
      summary: Create a user
      tags:
      - Users
      x-readme:
        code-samples:
        - language: node
          install: npm install @kanmon/sdk
          name: SDK
          code: "\nkanmonApi.users.createUser({\n  ...params...\n})\n    "
      x-content-type: application/json
      x-accepts:
      - application/json
  /api/platform/v2/users/{id}:
    get:
      operationId: getUser
      parameters:
      - description: Either the Kanmon user UUID or your platform’s user ID, depending on `idType`.
        example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      - description: Which ID type to query the user by. Defaults to `KANMON`. Use `PLATFORM` if you want to query by your platform’s ID.
        example: KANMON
        explode: true
        in: query
        name: idType
        required: false
        schema:
          enum:
          - KANMON
          - PLATFORM
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
          description: BadRequestException
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
          description: ForbiddenException
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserNotFoundException'
          description: UserNotFoundException
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
          description: TooManyRequestsException
          headers:
            X-RateLimit-Limit:
              description: Maximum number of requests allowed per minute.
              explode: false
              schema:
                type: integer
              style: simple
            X-RateLimit-Remaining:
              description: Number of remaining requests available.
              explode: false
              schema:
                type: integer
              style: simple
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
          description: InternalServerErrorException
      security:
      - Authorization: []
      summary: Fetch a user
      tags:
      - Users
      x-readme:
        code-samples:
        - language: node
          install: npm install @kanmon/sdk
          name: SDK
          code: "\nkanmonApi.users.getUser({\n  ...params...\n})\n    "
      x-accepts:
      - application/json
    patch:
      operationId: updateUser
      parameters:
      - description: Either the Kanmon user UUID or your platform’s user ID, depending on `idType`.
        example: 60eaa08c-f7a5-4f3a-860d-a16dde5771d6
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      - description: Which ID type to query the user by. Defaults to `KANMON`. Use `PLATFORM` if you want to query by your platform’s ID.
        example: KANMON
        explode: true
        in: query
        name: idType
        required: false
        schema:
          enum:
          - KANMON
          - PLATFORM
          type: string
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserRequestBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
          description: BadRequestException
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
          description: ForbiddenException
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserNotFoundException'
          description: UserNotFoundException
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updateUser_409_response'
          description: UserAlreadyExistsWithEmailException, PrimaryBusinessOwnerAlreadyExistsForBusinessException
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
          description: TooManyRequestsException
          headers:
            X-RateLimit-Limit:
              description: Maximum number of requests allowed per minute.
              explode: false
              schema:
                type: integer
              style: simple
            X-RateLimit-Remaining:
              description: Number of remaining requests available.
              explode: false
              schema:
                type: integer
              style: simple
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
          description: InternalServerErrorException
      security:
      - Authorization: []
      summary: Update a user
      tags:
      - Users
      x-readme:
        code-samples:
        - language: node
          install: npm install @kanmon/sdk
          name: SDK
          code: "\nkanmonApi.users.updateUser({\n  ...params...\n})\n    "
      x-content-type: application/json
      x-accepts:
      - application/json
  /api/platform/v2/users/merge:
    post:
      description: Users from the source business will be moved into the target business. This will only work if the source business has not started onboarding yet. After the merge, the source business will be deleted.
      operationId: mergeUserIntoBusiness
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MergeUsersRequestBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MergeUsersResponseBody'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
          description: BadRequestException
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
          description: ForbiddenException
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessNotFoundException'
          description: BusinessNotFoundException
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrimaryBusinessOwnerAlreadyExistsForBusinessException'
          description: PrimaryBusinessOwnerAlreadyExistsForBusinessException
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
          description: TooManyRequestsException
          headers:
            X-RateLimit-Limit:
              description: Maximum number of requests allowed per minute.
              explode: false
              schema:
                type: integer
              style: simple
            X-RateLimit-Remaining:
              description: Number of remaining requests available.
              explode: false
              schema:
                type: integer
              style: simple
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
          description: InternalServerErrorException
      security:
      - Authorization: []
      summary: Merge users from a source business into a target business
      tags:
      - Users
      x-readme:
        code-samples:
        - language: node
          install: npm install @kanmon/sdk
          name: SDK
          code: "\nkanmonApi.users.mergeUserIntoBusiness({\n  ...params...\n})\n    "
      x-content-type: application/json
      x-accepts:
      - application/json
components:
  schemas:
    MergeUsersResponseBody:
      example:
        mergedUsers:
        - lastName: Smith
          metadata: '{}'
          address:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
          roles:
          - PRIMARY_OWNER
          businessId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          isUsCitizen: true
          firstName: John
          createdAt: 2022-06-01 03:57:26.115000+00:00
          platformBusinessId: '12345'
          phoneNumber: '+14155556789'
          platformUserId: '12345'
          id: 1193fdaf-630c-4771-a629-8da7a87947d2
          email: user@gmail.com
          updatedAt: 2022-06-01 03:57:26.115000+00:00
        - lastName: Smith
          metadata: '{}'
          address:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
          roles:
          - PRIMARY_OWNER
          businessId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          isUsCitizen: true
          firstName: John
          createdAt: 2022-06-01 03:57:26.115000+00:00
          platformBusinessId: '12345'
          phoneNumber: '+14155556789'
          platformUserId: '12345'
          id: 1193fdaf-630c-4771-a629-8da7a87947d2
          email: user@gmail.com
          updatedAt: 2022-06-01 03:57:26.115000+00:00
      properties:
        mergedUsers:
          description: An array of users that were merged into the target business.
          items:
            $ref: '#/components/schemas/User'
          type: array
      required:
      - mergedUsers
      type: object
    updateUser_409_response:
      oneOf:
      - $ref: '#/components/schemas/UserAlreadyExistsWithEmailException'
      - $ref: '#/components/schemas/PrimaryBusinessOwnerAlreadyExistsForBusinessException'
    UserNotFoundException:
      example:
        errorCode: UserNotFoundException
        message: An error occurred.
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - UserNotFoundException
          type: string
        message:
          description: The human readable description of the error.
          example: An error occurred.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    UserAlreadyExistsWithEmailException:
      example:
        errorCode: UserAlreadyExistsWithEmailException
        message: An error occurred.
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - UserAlreadyExistsWithEmailException
          type: string
        message:
          description: The human readable description of the error.
          example: An error occurred.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    PrimaryBusinessOwnerAlreadyExistsForBusinessException:
      example:
        errorCode: PrimaryBusinessOwnerAlreadyExistsForBusinessException
        message: An error occurred.
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - PrimaryBusinessOwnerAlreadyExistsForBusinessException
          type: string
        message:
          description: The human readable description of the error.
          example: An error occurred.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    UserAlreadyExistsWithPlatformUserIdException:
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - UserAlreadyExistsWithPlatformUserIdException
          type: string
        message:
          description: The human readable description of the error.
          example: An error occurred.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    GetUsersResponse:
      example:
        pagination: ''
        users:
        - lastName: Smith
          metadata: '{}'
          address:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
          roles:
          - PRIMARY_OWNER
          businessId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          isUsCitizen: true
          firstName: John
          createdAt: 2022-06-01 03:57:26.115000+00:00
          platformBusinessId: '12345'
          phoneNumber: '+14155556789'
          platformUserId: '12345'
          id: 1193fdaf-630c-4771-a629-8da7a87947d2
          email: user@gmail.com
          updatedAt: 2022-06-01 03:57:26.115000+00:00
        - lastName: Smith
          metadata: '{}'
          address:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
          roles:
          - PRIMARY_OWNER
          businessId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          isUsCitizen: true
          firstName: John
          createdAt: 2022-06-01 03:57:26.115000+00:00
          platformBusinessId: '12345'
          phoneNumber: '+14155556789'
          platformUserId: '12345'
          id: 1193fdaf-630c-4771-a629-8da7a87947d2
          email: user@gmail.com
          updatedAt: 2022-06-01 03:57:26.115000+00:00
      properties:
        users:
          description: Array of users.
          items:
            $ref: '#/components/schemas/User'
          type: array
        pagination:
          allOf:
          - $ref: '#/components/schemas/PaginationResult'
          description: Pagination metadata.
      required:
      - pagination
      - users
      type: object
    User:
      example:
        lastName: Smith
        metadata: '{}'
        address:
          city: San Mateo
          state: CA
          country: USA
          zipcode: '94401'
          addressLineOne: 123 Main Street
        roles:
        - PRIMARY_OWNER
        businessId: adbcccf9-3a7f-4040-add3-55c9d6da2d37
        isUsCitizen: true
        firstName: John
        createdAt: 2022-06-01 03:57:26.115000+00:00
        platformBusinessId: '12345'
        phoneNumber: '+14155556789'
        platformUserId: '12345'
        id: 1193fdaf-630c-4771-a629-8da7a87947d2
        email: user@gmail.com
        updatedAt: 2022-06-01 03:57:26.115000+00:00
      properties:
        id:
          description: The UUID representing the user in Kanmon.
          example: 1193fdaf-630c-4771-a629-8da7a87947d2
          type: string
        platformUserId:
          description: Your platform’s unique ID for the user.
          example: '12345'
          type:
          - string
          - 'null'
        platformBusinessId:
          description: Your platform’s unique business ID for the user.
          example: '12345'
          type:
          - string
          - 'null'
        phoneNumber:
          description: The user’s phone number.
          example: '+14155556789'
          type:
          - string
          - 'null'
        businessId:
          description: The UUID representing the user’s business in Kanmon.
          example: adbcccf9-3a7f-4040-add3-55c9d6da2d37
          type: string
        address:
          allOf:
          - $ref: '#/components/schemas/Address'
          description: The user’s address. The address is optional. If you provide the address, you need to provide all the required fields in the address. The address must be a street address, not a PO Box.
          example:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
        email:
          description: The user’s email.
          example: user@gmail.com
          type:
          - string
          - 'null'
        firstName:
          description: The user’s first name.
          example: John
          type:
          - string
          - 'null'
        lastName:
          description: The user’s last name.
          example: Smith
          type:
          - string
          - 'null'
        roles:
          description: The user’s roles. <br/><br/>A primary owner is a user with the authority to issue debt on behalf of the business. This means the user can complete onboarding, receive offers, choose to accept offers, sign financing agreements, and service an active issued product. <br/><br/>An operator is a user with permission to service an active issued product. Examples are uploading invoices on behalf of the business, checking the status of payments, etc. <br /><br/>A secondary owner is a beneficial owner of the business who must complete KYC. This means the user can sign financing agreements when required and service an active issued product. During onboarding, the primary owner invites secondary owners. Secondary owners are directed to a separate Kanmon-hosted page where they complete onboarding, sign legal documents, and KYC. They can also access servicing from that page. Kanmon sends a `USER.CREATED` webhook when a secondary owner is created.
          example:
          - PRIMARY_OWNER
          items:
            enum:
            - PRIMARY_OWNER
            - OPERATOR
            - SECONDARY_OWNER
            type: string
          type: array
        metadata:
          description: Metadata from your system that you want to associate the user with.
          type: object
        isUsCitizen:
          description: Is the user a U.S. citizen?
          example: true
          type:
          - object
          - 'null'
        createdAt:
          description: Creation UTC ISO 8601 timestamp of the user.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
        updatedAt:
          description: Last updated UTC ISO 8601 timestamp of the user.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - businessId
      - createdAt
      - email
      - id
      - metadata
      - platformBusinessId
      - updatedAt
      type: object
    InternalServerErrorException:
      example:
        errorCode: InternalServerErrorException
        message: Internal Server Error
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - InternalServerErrorException
          type: string
        message:
          description: The human readable description of the error.
          example: Internal Server Error
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    Address:
      properties:
        addressLineOne:
          type: string
        addressLineTwo:
          example: Apt 123
          type:
          - string
          - 'null'
        city:
          type: string
        state:
          description: The 2 character abbreviated state
          enum:
          - AL
          - KY
          - OH
          - AK
          - LA
          - OK
          - AZ
          - ME
          - OR
          - AR
          - MD
          - PA
          - AS
          - MA
          - PR
          - CA
          - MI
          - RI
          - CO
          - MN
          - SC
          - CT
          - MS
          - SD
          - DE
          - MO
          - TN
          - DC
          - MT
          - TX
          - FL
          - NE
          - TT
          - GA
          - NV
          - UT
          - GU
          - NH
          - VT
          - HI
          - NJ
          - VA
          - ID
          - NM
          - VI
          - IL
          - NY
          - WA
          - IN
          - NC
          - WV
          - IA
          - ND
          - WI
          - KS
          - MP
          - WY
          example: CA
          type: string
        zipcode:
          description: Zip code can be 5 digits, 9 digits, or 5+4 including a hyphen or plus sign, e.g. 90210, 902101234, 90210-1234 or 90210+1234
          example: '94401'
          type: string
        country:
          description: USA
          example: USA
          type: string
      required:
      - addressLineOne
      - city
      - country
      - state
      - zipcode
      type: object
    createUser_409_response:
      oneOf:
      - $ref: '#/components/schemas/PrimaryBusinessOwnerAlreadyExistsForBusinessException'
      - $ref: '#/components/schemas/UserAlreadyExistsWithPlatformUserIdException'
      - $ref: '#/components/schemas/UserAlreadyExistsWithEmailException'
    BusinessNotFoundException:
      example:
        errorCode: BusinessNotFoundException
        message: An error occurred.
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - BusinessNotFoundException
          type: string
        message:
          description: The human readable description of the error.
          example: An error occurred.
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    BadRequestException:
      example:
        errorCode: BadRequestException
        message: Bad Request
        timestamp: 2022-06-01 03:57:26.115000+00:00
      properties:
        errorCode:
          description: Safe for programmatic use.
          enum:
          - BadRequestException
          type: string
        message:
          description: The human readable description of the error.
          example: Bad Request
          type: string
        timestamp:
          description: When the error occurred - ISO 8601 format.
          example: 2022-06-01 03:57:26.115000+00:00
          type: string
      required:
      - errorCode
      - message
      - timestamp
      type: object
    UpdateUserRequestBody:
      example:
        firstName: John
        lastName: Smith
        metadata: '{}'
        phoneNumber: '+14155556789'
        address:
          city: San Mateo
          state: CA
          country: USA
          zipcode: '94401'
          addressLineOne: 123 Main Street
        roles:
        - PRIMARY_OWNER
        email: user@gmail.com
      properties:
        firstName:
          description: The user’s first name.
          example: John
          type: string
        lastName:
          description: The user’s last name.
          example: Smith
          type: string
        phoneNumber:
          description: The user’s phone number. No formatting characters, country code is optional.
          example: '+14155556789'
          type: string
        address:
          allOf:
          - $ref: '#/components/schemas/Address'
          description: The user’s address. The address is optional. If you provide the address, you need to provide all the required fields in the address. The address must be a street address, not a PO Box.
          example:
            city: San Mateo
            state: CA
            country: USA
            zipcode: '94401'
            addressLineOne: 123 Main Street
        email:
          description: The user’s email.
          example: user@gmail.com
          type: string
        roles:
          descr

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