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

# Invite a member

> Sends a workspace invitation email to the member. The member must have `loginEnabled` set to `true` and must not have already accepted the invitation. Rate limited to once every 5 minutes per member.

A person that belongs to your workspace.


## OpenAPI

````yaml openapi.json POST /members/{id}/invite
openapi: 3.1.0
info:
  title: Ruddr API
  version: '1.0'
  license:
    name: Proprietary
    url: https://www.ruddr.com/master-subscription-agreement
servers:
  - url: https://www.ruddr.io/api/workspace
security:
  - bearerAuth: []
tags:
  - name: Allocations
    description: Manage resource allocations for scheduling team members to projects.
  - name: Availability Periods
    description: Manage member availability periods for capacity planning.
  - name: Business Units
    description: >-
      Manage business units for organizing invoice settings and grouping clients
      and projects.
  - name: Client Roles
    description: Manage client roles and their billing terms.
  - name: Client Tags
    description: Manage tags for categorizing clients.
  - name: Clients
    description: Manage clients and their billing settings.
  - name: Companies
    description: Manage companies in the CRM pipeline.
  - name: Company Spend Tiers
    description: Manage spend tier classifications for companies.
  - name: Company Types
    description: Manage type classifications for companies.
  - name: Contact Tags
    description: Manage tags for categorizing contacts.
  - name: Contacts
    description: Manage contacts associated with clients, companies, and opportunities.
  - name: Cost Periods
    description: Manage member cost rate periods for profitability tracking.
  - name: Credit Notes
    description: View credit notes issued against invoices.
  - name: Disciplines
    description: Manage disciplines for classifying member skill areas.
  - name: Exchange Rate
    description: Get exchange rates for multi-currency workspaces.
  - name: Exchange Rate Periods
    description: Manage custom exchange rate periods for currency conversion.
  - name: Expense Categories
    description: Manage expense categories for tracking and reporting.
  - name: Expense Items
    description: Manage individual expense line items.
  - name: Expense Reports
    description: Manage expense reports submitted by members.
  - name: Holiday Schedules
    description: Manage holiday schedules for capacity and availability planning.
  - name: Holidays
    description: Manage individual holidays within holiday schedules.
  - name: Industries
    description: Manage industry classifications for clients and companies.
  - name: Invoice Items
    description: Manage invoice line item types for billing.
  - name: Invoices
    description: View invoices and their line items.
  - name: Job Titles
    description: Manage job title classifications for members.
  - name: Locations
    description: Manage office locations for members and projects.
  - name: Member Certifications
    description: Manage certification types that can be assigned to members.
  - name: Member Levels
    description: Manage member level classifications for career tracking.
  - name: Member Tags
    description: Manage tags for categorizing members.
  - name: Members
    description: Manage workspace members and their profiles.
  - name: Opportunities
    description: Manage sales opportunities in the CRM pipeline.
  - name: Opportunity Pipelines
    description: Manage pipelines for tracking opportunity stages.
  - name: Opportunity Lead Sources
    description: Manage lead source classifications for opportunities.
  - name: Opportunity Stages
    description: Manage pipeline stage definitions for opportunities.
  - name: Opportunity Tags
    description: Manage tags for categorizing opportunities.
  - name: Opportunity Types
    description: Manage type classifications for opportunities.
  - name: Payment Methods
    description: Manage payment method options for invoices.
  - name: Payments
    description: View payments received against invoices.
  - name: Pipeline Activities
    description: >-
      Manage pipeline activities associated with companies, contacts, members,
      and opportunities.
  - name: Pipeline Activity Types
    description: Manage activity type classifications for pipeline activities.
  - name: Practices
    description: Manage practice area classifications for organizing projects and members.
  - name: Project Budget Expenses
    description: Manage expense budget line items on projects.
  - name: Project Budget Other Items
    description: Manage other budget line items on projects.
  - name: Project Budget Product Items
    description: Manage product budget line items on projects.
  - name: Project Budget Service Items
    description: Manage additional service budget line items on projects.
  - name: Project Expenses
    description: Manage project-level expense line items.
  - name: Project Groups
    description: View project groups for organizing related projects.
  - name: Project Health Reports
    description: Manage project health status reports.
  - name: Project Invoice Milestones
    description: Manage invoice milestones for fixed-fee project billing.
  - name: Project Members
    description: Manage team member assignments on projects.
  - name: Project Monthly Budget Expenses
    description: Manage monthly expense budget line items on projects.
  - name: Project Monthly Budget Other Items
    description: Manage monthly other budget line items on projects.
  - name: Project Monthly Budget Product Items
    description: Manage monthly product budget line items on projects.
  - name: Project Monthly Budget Service Items
    description: Manage monthly additional service budget line items on projects.
  - name: Project Other Items
    description: Manage project-level other item line items.
  - name: Project Product Items
    description: Manage project-level product line items.
  - name: Project Revenue Adjustments
    description: Manage earned revenue adjustments for projects.
  - name: Project Revenue Recognition Entries
    description: Manage revenue recognition entries for projects.
  - name: Project Roles
    description: Manage roles defined on projects for billing and staffing.
  - name: Project Service Items
    description: Manage project-level additional service line items.
  - name: Project Tags
    description: Manage tags for categorizing projects.
  - name: Project Tasks
    description: Manage tasks on projects for time tracking and planning.
  - name: Project Types
    description: Manage type classifications for projects.
  - name: Projects
    description: Manage projects and their settings.
  - name: Resource Placeholders
    description: Manage placeholder resources for allocation planning.
  - name: Security Roles
    description: View security roles for assigning member permissions.
  - name: Skills
    description: Manage skill classifications for members and resource planning.
  - name: Task Categories
    description: Manage task category classifications for project tasks.
  - name: Task Tags
    description: Manage tags for categorizing project tasks.
  - name: Task Templates
    description: Manage reusable task templates for projects.
  - name: Tax Rates
    description: Manage tax rates for invoicing.
  - name: Time Entries
    description: Manage time entries for tracking hours on projects.
  - name: Time Off Types
    description: Manage time off type classifications.
  - name: Timesheet Attestations
    description: Manage attestation statements members sign when submitting timesheets.
  - name: Timesheets
    description: Manage timesheet submissions for tracking hours across a period.
  - name: Utilization Target Periods
    description: Manage member utilization target periods for capacity planning.
  - name: Workspace Roles
    description: Manage workspace-level roles for billing rate configuration.
paths:
  /members/{id}/invite:
    post:
      tags:
        - Members
      summary: Invite a member
      description: >-
        Sends a workspace invitation email to the member. The member must have
        `loginEnabled` set to `true` and must not have already accepted the
        invitation. Rate limited to once every 5 minutes per member.
      operationId: invite-a-member
      parameters:
        - name: id
          in: path
          description: The member `uuid`.
          schema:
            type: string
          required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Member'
              examples:
                Result:
                  value:
                    id: 4a8e2c6f-b319-4d75-a0e3-7f1d9b5c28a4
                    name: Alex Rivera
                    email: alex.rivera@example.com
                    isActive: true
                    isBillable: true
                    loginEnabled: true
                    invitationStatusId: invited
                    employmentTypeId: employee
                    costMethodId: fixed_hourly
                    defaultRate: 175
                    defaultRateCurrency: USD
                    activeStartDate: '2025-03-01'
                    activeEndDate: '2027-09-30'
                    timeOffAllowed: true
                    allowedTimeOffTypes: custom
                    timeOffApprovalMode: member
                    receiveMissingTimeReminders: true
                    unsubmittedTimesheetReminders: true
                    automaticTimesheetSubmissionConfirmation: true
                    timesheetCapacityPolicy: unrestricted
                    internalId: EMP-042
                    internalNotes: Lead developer specializing in distributed systems.
                    createdAt: '2025-03-01T09:22:17.641Z'
                    trackTimeByDuration: true
                    trackTimeByTimeRange: false
                    jobTitle:
                      id: 7c4b1e9a-d538-4f62-b0a7-3e6f8d2c51b9
                      name: Lead Developer
                    level:
                      id: 8d5c2f0b-e649-4073-c1b8-4f709e3d62ca
                      name: Senior
                    discipline:
                      id: 9e6d3a1c-f75a-4184-d2c9-5081af4e73db
                      name: Engineering
                    practice:
                      id: af7e4b2d-086b-4295-e3da-6192b05f84ec
                      name: Product Development
                    location:
                      id: b08f5c3e-197c-43a6-f4eb-72a3c160a5fd
                      name: Austin
                    manager:
                      id: c1906d4f-2a8d-44b7-05fc-83b4d271b60e
                      name: Morgan Lee
                    timeOffApprover:
                      id: d2a17e50-3b9e-45c8-160d-94c5e382c71f
                      name: Jordan Blake
                    holidaySchedule:
                      id: e3b28f61-4caf-46d9-271e-a5d6f493d820
                      name: US Federal Holidays
                    securityRole:
                      id: f4c39072-5db0-47ea-382f-b6e70504e931
                      name: Member
                    tags:
                      - id: 05d4a183-6ec1-48fb-4930-c7f81615fa42
                        name: Remote
                    certifications:
                      - id: 16e5b294-7fd2-490c-5a41-d8092726ab53
                        name: AWS Certified Developer
                    skills:
                      - id: 27f6c3a5-80e3-4a1d-6b52-e91a3837bc64
                        name: Go
                    timeOffTypes:
                      - id: 3807d4b6-91f4-4b2e-7c63-fa2b4948cd75
                        name: Vacation
                    costPeriods:
                      - id: 4918e5c7-a205-4c3f-8d74-0b3c5a59de86
                        start: '2025-03-01'
                        end: '2026-12-31'
                        currency: USD
                        costMethodId: fixed_hourly
                        costPerHour: 85
                        overheadCostPerHour: 15
                        totalCostPerHour: 100
                        costPerMonth: null
                        overheadCostPerMonth: null
                        totalCostPerMonth: null
                        currencyName: US Dollar
                    availabilityPeriods:
                      - id: 5a29f6d8-b316-4d40-9e85-1c4d6b6aef97
                        start: '2025-03-01'
                        end: '2026-12-31'
                        hoursPerDay:
                          - 0
                          - 8
                          - 8
                          - 8
                          - 8
                          - 8
                          - 0
                    utilizationTargetPeriods:
                      - id: 6b3a07e9-c427-4e51-af96-2d5e7c7bf0a8
                        start: '2025-03-01'
                        end: '2026-12-31'
                        targetPercentage: 85
                    forbidTimesheetSubmissionWhenBelowCapacity: false
        '400':
          description: '400'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                InvalidId:
                  value:
                    status: 400
                    message: Parameter 'id' is not a valid UUID.
                LoginDisabled:
                  value:
                    status: 400
                    message: This member is not allowed to log in to this workspace.
                AlreadyAccepted:
                  value:
                    status: 400
                    message: >-
                      This member already accepted the invitation to join this
                      workspace.
                RateLimited:
                  value:
                    status: 400
                    message: This member has already been sent an invitation recently.
        '404':
          description: '404'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                NotFound:
                  value:
                    status: 404
                    message: >-
                      Object with id '7c4b18a9-d527-4f51-b096-3e5f7d1c40a8' not
                      found.
      deprecated: false
components:
  schemas:
    Member:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the object.
        name:
          type: string
          description: The name of the member.
        email:
          type: string
          description: The email address of the member.
        isActive:
          type: boolean
          description: Whether the member is active in the workspace.
        isBillable:
          type: boolean
          description: Whether the member is billable.
        loginEnabled:
          type: boolean
          description: Whether the member can log into the workspace.
        invitationStatusId:
          type: string
          description: The invitation status of the member.
          enum:
            - not_invited
            - invited
            - accepted
        employmentTypeId:
          type: string
          description: The type of employment for this member.
          enum:
            - employee
            - contractor
            - other
        costMethodId:
          type: string
          deprecated: true
          description: >-
            Deprecated. The cost method for the member. Use `costPeriods`
            instead.
          enum:
            - hourly
            - fixed_hourly
            - fixed_monthly
        defaultRate:
          type:
            - number
            - 'null'
          description: The default bill rate for the member.
        defaultRateCurrency:
          type:
            - string
            - 'null'
          description: The currency code for the default bill rate.
        activeStartDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The start date of the member's active period. Will be in the form
            YYYY-MM-DD.
        activeEndDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The end date of the member's active period. Will be in the form
            YYYY-MM-DD.
        timeOffAllowed:
          type: boolean
          description: Whether the member is allowed to create time-off time entries.
        allowedTimeOffTypes:
          type: string
          description: >-
            Controls which time off types this member can use for time-off
            entries.
          enum:
            - all
            - custom
        timeOffApprovalMode:
          type: string
          description: The approval mode for time-off time entries.
          enum:
            - auto
            - manager
            - member
        internalExpenseApprovalMode:
          type: string
          description: The approval mode for internal expense items.
          enum:
            - auto
            - manager
            - member
        receiveMissingTimeReminders:
          type: boolean
          description: Whether the member receives missing time reminders.
        unsubmittedTimesheetReminders:
          type: boolean
          description: Whether the member receives reminders for unsubmitted timesheets.
        automaticTimesheetSubmissionConfirmation:
          type: boolean
          description: >-
            Whether the member receives confirmation emails when timesheets are
            automatically submitted.
        timesheetCapacityPolicy:
          type: string
          description: The timesheet capacity policy for this member.
          enum:
            - unrestricted
            - timesheet
            - week
        internalId:
          type:
            - string
            - 'null'
          description: An identifier for tracking this member against other systems.
        internalNotes:
          type:
            - string
            - 'null'
          description: Extra notes about the member.
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the object was created.
        trackTimeByDuration:
          type: boolean
          description: >-
            Whether the member can track time by entering a duration. This is
            the effective value combining the workspace and member settings.
        trackTimeByTimeRange:
          type: boolean
          description: >-
            Whether the member can track time by entering a start and end time.
            This is the effective value combining the workspace and member
            settings.
        securityRole:
          type: object
          description: The security role assigned to the member.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the security role.
        jobTitle:
          type:
            - object
            - 'null'
          description: The job title assigned to the member.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the job title.
        level:
          type:
            - object
            - 'null'
          description: The member level assigned to the member.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the member level.
        discipline:
          type:
            - object
            - 'null'
          description: The discipline assigned to the member.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the discipline.
        businessUnit:
          type:
            - object
            - 'null'
          description: The business unit assigned to the member.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the business unit.
        practice:
          type:
            - object
            - 'null'
          description: The practice assigned to the member.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the practice.
        location:
          type:
            - object
            - 'null'
          description: The location assigned to the member.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the location.
        manager:
          type:
            - object
            - 'null'
          description: The member's direct manager.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the manager.
        timeOffApprover:
          type:
            - object
            - 'null'
          description: >-
            The member designated to approve time-off requests. Only populated
            when `timeOffApprovalMode` is `"member"`.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the time off approver.
        internalExpenseApprover:
          type:
            - object
            - 'null'
          description: >-
            The member designated to approve internal expense items. Only
            populated when `internalExpenseApprovalMode` is `"member"`.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the internal expense approver.
        holidaySchedule:
          type:
            - object
            - 'null'
          description: The holiday schedule assigned to the member.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the holiday schedule.
        tags:
          type: array
          description: The list of member tags assigned to this member.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              name:
                type: string
                description: The name of the tag.
        certifications:
          type: array
          description: The list of certifications assigned to this member.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              name:
                type: string
                description: The name of the certification.
        skills:
          type: array
          description: The list of skills assigned to this member.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              name:
                type: string
                description: The name of the skill.
        timeOffTypes:
          type: array
          description: >-
            The list of time off types allowed for this member. Only populated
            when `allowedTimeOffTypes` is `"custom"`.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              name:
                type: string
                description: The name of the time off type.
        availabilityPeriods:
          type: array
          description: >-
            The list of availability periods defining how many hours per day the
            member is available.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              start:
                type:
                  - string
                  - 'null'
                format: date
                description: >-
                  The start date of the availability period. Will be in the form
                  YYYY-MM-DD. `null` for the default period.
              end:
                type:
                  - string
                  - 'null'
                format: date
                description: >-
                  The end date of the availability period. Will be in the form
                  YYYY-MM-DD. `null` when the period has no end date.
              hoursPerDay:
                type: array
                description: >-
                  An array of 7 values representing available hours per day of
                  the week (Sunday through Saturday).
                items:
                  type: number
        costPeriods:
          type: array
          description: The list of cost periods defining the member's cost over time.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              start:
                type:
                  - string
                  - 'null'
                format: date
                description: >-
                  The start date of the cost period. Will be in the form
                  YYYY-MM-DD. `null` for the default period.
              end:
                type:
                  - string
                  - 'null'
                format: date
                description: >-
                  The end date of the cost period. Will be in the form
                  YYYY-MM-DD. `null` when the period has no end date.
              currency:
                type: string
                description: The ISO 4217 currency code for costs in this period.
              costMethodId:
                type: string
                description: The cost method for this period.
                enum:
                  - hourly
                  - fixed_hourly
                  - fixed_monthly
              costPerHour:
                type:
                  - number
                  - 'null'
                description: >-
                  The direct cost per hour for the member. Only populated when
                  `costMethodId` is `"hourly"` or `"fixed_hourly"`.
              overheadCostPerHour:
                type:
                  - number
                  - 'null'
                description: >-
                  The overhead cost per hour for the member. Only populated when
                  `costMethodId` is `"hourly"` or `"fixed_hourly"`.
              totalCostPerHour:
                type:
                  - number
                  - 'null'
                description: >-
                  The total cost per hour (direct plus overhead) for the member.
                  Only populated when `costMethodId` is `"hourly"` or
                  `"fixed_hourly"`.
              costPerMonth:
                type:
                  - number
                  - 'null'
                description: >-
                  The direct cost per month for the member. Only populated when
                  `costMethodId` is `"fixed_monthly"`.
              overheadCostPerMonth:
                type:
                  - number
                  - 'null'
                description: >-
                  The overhead cost per month for the member. Only populated
                  when `costMethodId` is `"fixed_monthly"`.
              totalCostPerMonth:
                type:
                  - number
                  - 'null'
                description: >-
                  The total cost per month (direct plus overhead) for the
                  member. Only populated when `costMethodId` is
                  `"fixed_monthly"`.
              currencyName:
                type: string
                description: The display name of the currency.
        utilizationTargetPeriods:
          type:
            - array
            - 'null'
          description: >-
            The list of utilization target periods for the member. `null` if the
            Utilization Tracking feature is not enabled.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              start:
                type:
                  - string
                  - 'null'
                format: date
                description: >-
                  The start date of the utilization target period. Will be in
                  the form YYYY-MM-DD. `null` for the default period.
              end:
                type:
                  - string
                  - 'null'
                format: date
                description: >-
                  The end date of the utilization target period. Will be in the
                  form YYYY-MM-DD. `null` when the period has no end date.
              targetPercentage:
                type:
                  - number
                  - 'null'
                description: >-
                  The target utilization percentage (0–100) for the member
                  during this period.
        forbidTimesheetSubmissionWhenBelowCapacity:
          type: boolean
          deprecated: true
          description: >-
            Legacy. A computed flag derived from `timesheetCapacityPolicy`.
            `true` when the policy is `"timesheet"` or `"week"`. Use
            `timesheetCapacityPolicy` instead.
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
        message:
          type: string
          description: A human-readable error message.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````