MVMNT Vendors API

Vendor management operations

Operations 8

POST /vendors/filter Filter vendors #
POST /vendors Create a new vendor #
GET /vendors/{id} Get a vendor by ID #
PATCH /vendors/{id} Update a vendor #
DELETE /vendors/{id} Delete a vendor #
POST /vendors/search Search vendors #
GET /vendors/{id}/outstanding-bills Get vendor outstanding bills #
GET /vendors/{id}/bills-for-payment Get vendor bills available for payment #

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/mvmnt-vendors-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 email required.

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

OpenAPI Specification

mvmnt-vendors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MVMNT Vendors API
  version: 1.0.0
  description: "The MVMNT API enables you to automate freight brokerage workflows by integrating\ndirectly with our Transportation Management System.\n\n## Authentication\n\nOAuth 2.0 client credentials flow. See [Authentication Guide](/getting-started/authentication)\nfor details.\n\n### Token Endpoint\n\n```\nPOST https://api.mvmnt.io/oauth2/token\n```\n\n#### Request\n\n**Headers:**\n```http\nContent-Type: application/x-www-form-urlencoded\n```\n\n**Body Parameters:**\n```\ngrant_type=client_credentials\nclient_id=YOUR_CLIENT_ID\nclient_secret=YOUR_CLIENT_SECRET\n```\n\n#### Example Request\n\n```bash\ncurl -X POST https://api.mvmnt.io/oauth2/token \\\n  -H \"Content-Type: application/x-www-form-urlencoded\" \\\n  -d \"grant_type=client_credentials\" \\\n  -d \"client_id=YOUR_CLIENT_ID\" \\\n  -d \"client_secret=YOUR_CLIENT_SECRET\"\n```\n\n#### Success Response\n\n**Status:** `200 OK`\n\n```json\n{\n  \"access_token\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\",\n  \"token_type\": \"Bearer\",\n  \"expires_in\": 3600\n}\n```\n\n**Response Fields:**\n- `access_token`: JWT Bearer token to use for API requests\n- `token_type`: Always `Bearer`\n- `expires_in`: Token lifetime in seconds (3600 = 1 hour)\n"
  contact:
    name: MVMNT Support
    email: support@mvmnt.io
    url: https://docs.mvmnt.io
  license:
    name: Proprietary
    url: https://mvmnt.io/legal/terms
  x-parsed-md-description:
    result:
    - $$mdtype: Node
      errors: []
      lines:
      - 0
      - 2
      inline: false
      attributes: {}
      children:
      - $$mdtype: Node
        errors: []
        lines:
        - 0
        - 2
        inline: false
        attributes: {}
        children:
        - $$mdtype: Node
          errors: []
          lines:
          - 0
          - 2
          inline: true
          attributes:
            content: The MVMNT API enables you to automate freight brokerage workflows by integrating
          children: []
          type: text
          annotations: []
          slots: {}
        - $$mdtype: Node
          errors: []
          lines:
          - 0
          - 2
          inline: true
          attributes: {}
          children: []
          type: softbreak
          annotations: []
          slots: {}
        - $$mdtype: Node
          errors: []
          lines:
          - 0
          - 2
          inline: true
          attributes:
            content: directly with our Transportation Management System.
          children: []
          type: text
          annotations: []
          slots: {}
        type: inline
        annotations: []
        slots: {}
      type: paragraph
      annotations: []
      slots: {}
    - $$mdtype: Node
      errors: []
      lines:
      - 3
      - 4
      inline: false
      attributes:
        level: 2
      children:
      - $$mdtype: Node
        errors: []
        lines:
        - 3
        - 4
        inline: false
        attributes: {}
        children:
        - $$mdtype: Node
          errors: []
          lines:
          - 3
          - 4
          inline: true
          attributes:
            content: Authentication
          children: []
          type: text
          annotations: []
          slots: {}
        type: inline
        annotations: []
        slots: {}
      type: heading
      annotations: []
      slots: {}
    - $$mdtype: Node
      errors: []
      lines:
      - 5
      - 6
      inline: false
      attributes: {}
      children:
      - $$mdtype: Node
        errors: []
        lines:
        - 5
        - 6
        inline: false
        attributes: {}
        children:
        - $$mdtype: Node
          errors: []
          lines:
          - 5
          - 6
          inline: true
          attributes:
            content: 'OAuth 2.0 client credentials flow. See '
          children: []
          type: text
          annotations: []
          slots: {}
        - $$mdtype: Node
          errors: []
          lines:
          - 5
          - 6
          inline: true
          attributes:
            href: /getting-started/authentication
          children:
          - $$mdtype: Node
            errors: []
            lines:
            - 5
            - 6
            inline: true
            attributes:
              content: Authentication Guide
            children: []
            type: text
            annotations: []
            slots: {}
          type: link
          annotations: []
          slots: {}
          redocly:::linkOriginal:href: /getting-started/authentication
        - $$mdtype: Node
          errors: []
          lines:
          - 5
          - 6
          inline: true
          attributes:
            content: ' for details.'
          children: []
          type: text
          annotations: []
          slots: {}
        type: inline
        annotations: []
        slots: {}
      type: paragraph
      annotations: []
      slots: {}
servers:
- url: https://api.mvmnt.io/v1
  description: Production
security:
- BearerAuth: []
tags:
- name: Vendors
  description: Vendor management operations
paths:
  /vendors/filter:
    post:
      tags:
      - Vendors
      summary: Filter vendors
      description: 'Query vendors using flexible filter criteria with AND/OR logic.


        By default, only non-deleted vendors are returned (deletedAt: { isNull: true }).

        Override this by explicitly setting deletedAt filter criteria.

        '
      operationId: filterVendors
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorFilterRequest'
      responses:
        '200':
          description: Filtered vendors with pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - pageInfo
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Vendor'
                  pageInfo:
                    $ref: '#/components/schemas/PaginationInfo'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /vendors:
    post:
      tags:
      - Vendors
      summary: Create a new vendor
      description: 'Create a new vendor within an organization.


        Vendors represent service providers (warehousing, storage, etc.) that are not carriers.

        '
      operationId: createVendor
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorInput'
            examples:
              warehouse:
                summary: Warehouse vendor
                value:
                  name: ABC Warehouse Services
                  email: billing@abcwarehouse.com
                  phone: +1-555-123-4567
                  status: ACTIVE
                  currency: USD
                  taxId: 12-3456789
              storage:
                summary: Storage facility
                value:
                  name: SecureStore Facilities
                  email: accounts@securestore.com
                  phone: +1-555-987-6543
                  status: ACTIVE
                  currency: USD
      responses:
        '201':
          description: Vendor created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vendor'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '409':
          $ref: '#/components/responses/ConflictError'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /vendors/{id}:
    get:
      tags:
      - Vendors
      summary: Get a vendor by ID
      description: 'Retrieve a single vendor by its unique identifier.

        '
      operationId: getVendorById
      parameters:
      - $ref: '#/components/parameters/IdOrClientKey'
      responses:
        '200':
          description: Vendor found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vendor'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    patch:
      tags:
      - Vendors
      summary: Update a vendor
      description: 'Partially update a vendor. Only provided fields will be updated.


        - **Omitted fields**: Not modified (current value preserved)

        - **Provided fields**: Updated to the new value

        - **Null values**: Clear the field (set to null) where applicable

        '
      operationId: updateVendor
      parameters:
      - $ref: '#/components/parameters/IdOrClientKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorPatch'
            examples:
              updateContact:
                summary: Update contact information
                value:
                  email: newemail@abcwarehouse.com
                  phone: +1-555-999-8888
              updateStatus:
                summary: Update vendor status
                value:
                  status: INACTIVE
                  notes: Contract ended
      responses:
        '200':
          description: Vendor updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vendor'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          $ref: '#/components/responses/ConflictError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      tags:
      - Vendors
      summary: Delete a vendor
      description: 'Soft delete a vendor (sets deletedAt timestamp).


        The vendor will no longer appear in default queries but can be retrieved

        by explicitly filtering for deleted records.

        '
      operationId: deleteVendor
      parameters:
      - $ref: '#/components/parameters/IdOrClientKey'
      responses:
        '204':
          description: Vendor deleted successfully
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /vendors/search:
    post:
      summary: Search vendors
      description: 'Search vendors using OpenSearch-powered full-text and field-specific search.


        This endpoint provides fast, indexed search across vendor data with support for:

        - Full-text search across multiple fields

        - Field-specific filtering with various operators

        - Sorting and pagination

        - Saved search preferences


        **Note:** Only active (non-deleted) vendors are searchable. Soft-deleted records are automatically excluded from all search results.


        **Response Formats:**

        - `flat` (default): Returns indexed fields only for faster performance

        - `full`: Returns complete vendor objects with all relationships

        '
      operationId: searchVendors
      tags:
      - Vendors
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorSearchRequest'
      responses:
        '200':
          description: Successful search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorSearchResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
  /vendors/{id}/outstanding-bills:
    get:
      summary: Get vendor outstanding bills
      description: 'List outstanding (unpaid) bills for a vendor.


        Returns bills with status `APPROVED_TO_PAY`.

        '
      operationId: getVendorOutstandingBills
      tags:
      - Vendors
      parameters:
      - $ref: '#/components/parameters/IdOrClientKey'
      - $ref: '#/components/parameters/LookupBy'
      responses:
        '200':
          description: Outstanding bills retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutstandingBillsResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /vendors/{id}/bills-for-payment:
    get:
      summary: Get vendor bills available for payment
      description: 'List bills available for payment from a vendor.


        Returns bills with status `APPROVED_TO_PAY` and open balance.

        '
      operationId: getVendorBillsForPayment
      tags:
      - Vendors
      parameters:
      - $ref: '#/components/parameters/IdOrClientKey'
      - $ref: '#/components/parameters/LookupBy'
      responses:
        '200':
          description: Bills for payment retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutstandingBillsForPaymentResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  responses:
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: internal_server_error
            message: An unexpected error occurred
    NotFoundError:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: not_found
            message: Resource not found
    ValidationError:
      description: Validation error - invalid field values
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationError'
          example:
            error: validation_error
            message: Invalid field values
            details:
            - field: email
              message: Must be a valid email address
            - field: status
              message: Must be one of PENDING, ACTIVE, INACTIVE
    ConflictError:
      description: Conflict - resource already exists or constraint violation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: conflict
            message: A resource with this identifier already exists
    RateLimitExceeded:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: rate_limit_exceeded
            message: Too many requests. Please retry after 60 seconds.
      headers:
        X-RateLimit-Limit:
          description: Request limit per minute
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Remaining requests in current window
          schema:
            type: integer
        X-RateLimit-Reset:
          description: Unix timestamp when rate limit resets
          schema:
            type: integer
        Retry-After:
          description: Seconds to wait before retrying
          schema:
            type: integer
    BadRequestError:
      description: Bad request - invalid input
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: bad_request
            message: Invalid request parameters
    UnauthorizedError:
      description: Unauthorized - invalid or missing access token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: unauthorized
            message: Invalid or expired access token
  schemas:
    BillEntityType:
      type: string
      enum:
      - CARRIER
      - VENDOR
      description: 'Type of entity the bill is for.

        - `CARRIER`: Bill for a carrier (LoadCarrier)

        - `VENDOR`: Bill for a vendor service (VendedService)

        '
    PaymentTermReference:
      type: object
      description: 'Enhanced reference to a payment term resource (returned in responses).

        Includes full payment term details in addition to id/key.

        '
      required:
      - id
      - name
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
          format: uuid
          description: Payment term UUID
          example: 550e8400-e29b-41d4-a716-446655440000
        key:
          type:
          - string
          - 'null'
          maxLength: 512
          description: Client-defined reference ID if set
          example: ERP-PAYTERM-NET30
        name:
          type: string
          description: Payment term name
          example: Net 30
        description:
          type:
          - string
          - 'null'
          description: Payment term description or notes
          example: Payment due 30 days from invoice date
        days:
          type:
          - integer
          - 'null'
          description: Number of days until payment is due
          example: 30
        quickPayFee:
          type:
          - number
          - 'null'
          format: float
          description: Quick pay fee percentage (e.g., 0.05 for 5%)
          example: 0.05
          x-parsed-md-description:
            result:
            - $$mdtype: Node
              errors: []
              lines:
              - 0
              - 1
              inline: false
              attributes: {}
              children:
              - $$mdtype: Node
                errors: []
                lines:
                - 0
                - 1
                inline: false
                attributes: {}
                children:
                - $$mdtype: Node
                  errors: []
                  lines:
                  - 0
                  - 1
                  inline: true
                  attributes:
                    content: Quick pay fee percentage (e.g., 0.05 for 5%)
                  children: []
                  type: text
                  annotations: []
                  slots: {}
                type: inline
                annotations: []
                slots: {}
              type: paragraph
              annotations: []
              slots: {}
        apOnly:
          type:
          - boolean
          - 'null'
          description: Whether this payment term is for accounts payable only
          example: false
        doNotUse:
          type:
          - boolean
          - 'null'
          description: Flag to prevent using this payment term for new transactions
          example: false
        createdAt:
          type: string
          format: date-time
          description: When the payment term was created
          example: '2025-01-15T10:00:00Z'
        updatedAt:
          type: string
          format: date-time
          description: When the payment term was last updated
          example: '2025-01-15T14:30:00Z'
        deletedAt:
          type:
          - string
          - 'null'
          format: date-time
          description: When the payment term was soft deleted (null if active)
          example: null
    vendors_Currency:
      type: string
      description: Currency code
      enum:
      - USD
      - CAD
      - MXN
      - EUR
      - GBP
    VendorContactRole:
      type: string
      description: Type of vendor contact role
      enum:
      - AGENT
      - BILLING
      - OPERATION
      - OWNER
    VendorInput:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Vendor legal name
          example: ABC Warehouse Services
        key:
          type: string
          maxLength: 512
          description: Client-defined reference identifier
          example: ERP-VENDOR-ABC-001
        email:
          type: string
          format: email
          description: Primary email address
          example: billing@abcwarehouse.com
        phone:
          type: string
          description: Primary phone number
          example: +1-555-123-4567
        status:
          type: string
          description: Vendor status
          example: ACTIVE
        notes:
          type: string
          description: Internal notes about the vendor
          example: Preferred vendor for warehouse services
        taxId:
          type: string
          description: Tax identification number
          example: 12-3456789
        currency:
          $ref: '#/components/schemas/vendors_Currency'
          description: Preferred currency for transactions
        corporateAddress:
          $ref: '#/components/schemas/AddressInput'
          description: Corporate headquarters address
        billingAddress:
          $ref: '#/components/schemas/AddressInput'
          description: Billing address for invoices
        paymentTermId:
          type: string
          format: uuid
          description: Payment term ID
          example: 550e8400-e29b-41d4-a716-446655440001
        isMvmnt:
          type: boolean
          description: Whether this vendor is MVMNT itself
          example: false
        requiredDocuments:
          type: array
          items:
            type: string
          description: List of required document types
          example:
          - W9
          - INSURANCE_CERTIFICATE
    VendorPaymentMethodReference:
      type: object
      description: 'Vendor payment method reference for embedding in Vendor responses.

        Identical to VendorPaymentMethod but excludes the vendor and vendorId fields to avoid circular references.

        '
      required:
      - id
      - paymentMethodType
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          description: Unique vendor payment method identifier
          example: 550e8400-e29b-41d4-a716-446655440000
        key:
          type:
          - string
          - 'null'
          maxLength: 512
          description: Client-defined reference identifier
          example: VENDOR-PM-001
        paymentMethodType:
          $ref: '#/components/schemas/PaymentMethodType'
          description: How payment is made
        status:
          type:
          - string
          - 'null'
          description: Payment method status
          example: ACTIVE
        isPreferred:
          type:
          - boolean
          - 'null'
          description: Whether this is the preferred payment method
          example: true
        email:
          type:
          - string
          - 'null'
          format: email
          description: Email address for payment notifications
          example: payments@vendor.com
        phone:
          type:
          - string
          - 'null'
          description: Phone number for payment contact
          example: +1-555-123-4567
        companyName:
          type:
          - string
          - 'null'
          description: Company name for this payment method
          example: Vendor Payments LLC
        username:
          type:
          - string
          - 'null'
          description: Username for payment platforms
          example: vendor_payments
        bankName:
          type:
          - string
          - 'null'
          description: Bank name
          example: Chase Bank
        bankAddress:
          type:
          - string
          - 'null'
          description: Bank address
          example: 123 Bank Street, Dallas, TX 75201
        accountName:
          type:
          - string
          - 'null'
          description: Bank account holder name
          example: Vendor Services Inc
        accountNumber:
          type:
          - string
          - 'null'
          description: Bank account number (masked in responses)
          example: '****1234'
        abaAch:
          type:
          - string
          - 'null'
          description: ABA/ACH routing number
          example: '021000021'
        wire:
          type:
          - string
          - 'null'
          description: Wire transfer routing number
          example: 026009593
        swiftCode:
          type:
          - string
          - 'null'
          description: SWIFT/BIC code
          example: CHASUS33
        eftInstitution:
          type:
          - string
          - 'null'
          description: EFT institution number (Canadian banking)
          example: '001'
        eftTransit:
          type:
          - string
          - 'null'
          description: EFT transit number (Canadian banking)
          example: '00010'
        clabe:
          type:
          - string
          - 'null'
          description: CLABE number (Mexican banking)
          example: 012180001234567897
        currency:
          type:
          - string
          - 'null'
          description: Preferred currency code
          example: USD
        paymentTerm:
          anyOf:
          - $ref: '#/components/schemas/PaymentTermReference'
          - type: 'null'
          description: Payment terms
        createdAt:
          type: string
          format: date-time
          readOnly: true
          description: When the payment method was created
          example: '2025-01-15T10:00:00Z'
        updatedAt:
          type: string
          format: date-time
          readOnly: true
          description: When the payment method was last updated
          example: '2025-01-15T14:30:00Z'
        deletedAt:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
          description: When the payment method was soft deleted
          example: null
        deletedBy:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          readOnly: true
          description: User who deleted this payment method
    SearchPaginationInput:
      type: object
      description: Pagination options for search requests
      properties:
        pageNumber:
          type: integer
          minimum: 1
          default: 1
          description: Page number (1-based)
          example: 1
        pageSize:
          type: integer
          minimum: 1
          maximum: 250
          default: 50
          description: Number of results per page (max 250)
          example: 50
      example:
        pageNumber: 1
        pageSize: 50
    UUIDFilter:
      type: object
      description: Filter options for UUID fields (all operations)
      properties:
        equalTo:
          type: string
          format: uuid
          description: Exact match
        notEqualTo:
          type: string
          format: uuid
          description: Not equal to
        in:
          type: array
          items:
            type: string
            format: uuid
          description: Matches any UUID in the array
        notIn:
          type: array
          items:
            type: string
            format: uuid
          description: Does not match any UUID in the array
        isNull:
          type: boolean
          description: Field is null (true) or not null (false)
    KeywordSearchCriteria:
      type: object
      required:
      - operator
      description: Search criteria for keyword fields (exact match, no partial matching)
      properties:
        operator:
          type: string
          enum:
          - EQUALS
          - NOT_EQUALS
          - ONE_OF
          - NOT_ONE_OF
          - EXISTS
          - DOES_NOT_EXIST
          description: 'Search operator:

            - `EQUALS`: Exact match

            - `NOT_EQUALS`: Not equal to

            - `ONE_OF`: Matches any value in array

            - `NOT_ONE_OF`: Does not match any value in array

            - `EXISTS`: Field has a value (not null)

            - `DOES_NOT_EXIST`: Field is null

            '
        values:
          type: array
          items:
            type: string
          description: Array of values for ONE_OF or NOT_ONE_OF operators
          example:
          - ACTIVE
          - PENDING
      example:
        operator: ONE_OF
        values:
        - ACTIVE
        - PENDING
    UserReference:
      type: object
      description: 'Enhanced reference to a user resource (returned in responses).

        Includes full user details in addition to id/key.


        Note: Does NOT include nested references (teams, etc.) to prevent recursion.

        Maximum nesting depth: 1 level.

        '
      required:
      - id
      - email
      - status
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
          format: uuid
          description: User UUID
          example: 550e8400-e29b-41d4-a716-446655440000
        key:
          type:
          - string
          - 'null'
          maxLength: 512
          description: Client-defined reference ID if set
          example: ERP-USER-12345
        email:
          type: string
          format: email
          description: User's email address
          example: john.doe@example.com
        name:
          type:
          - string
          - 'null'
          description: User's full name
          example: John Doe
        phone:
          type:
          - string
          - 'null'
          description: User's phone number
          example: +1-555-123-4567
        phoneExt:
          type:
          - string
          - 'null'
          description: Phone extension
          example: '123'
        status:
          type: string
          description: User account status
          enum:
          - PENDING
          - ACTIVE
          - INACTIVE
          example: ACTIVE
        avatarId:
          type:
          - string
          - 'null'
          format: uuid
          description: Profile avatar document ID
          example: 7c9e6679-7425-40de-944b-e07fc1f90ae7
        createdAt:
          type: string
          format: date-time
          description: When the user was created
          example: '2025-01-15T10:00:00Z'
        updatedAt:
          type: string
          format: date-time
          description: When the user was last updated
          example: '2025-01-15T14:30:00Z'
        deletedAt:
          type:
          - string
          - 'null'
          format: date-time
          description: When the user was soft deleted (null if active)
          example: null
    CarrierReference:
      type: object
      description: 'Enhanced reference to a carrier resource (returned in responses).

        Includes full carrier details in addition to id/key.


        Note: Does NOT include nested references (contacts, etc.) to prevent recursion.

        Maximum nesting depth: 1 level.

        '
      required:
      - id
      - name
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
          format: uuid
          description: Carrier UUID
          example: 550e8400-e29b-41d4-a716-446655440000
        key:
          type:
          - string
          - 'null'
          maxLength: 512
          description: Client-defined reference ID if set
          example: ERP-CARRIER-SWIFT
        name:
          type: string
          description: Carrier company name
          example: Swift Transportation
        phoneNumber:
          type:
          - string
          - 'null'
          de

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