> ## 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.

# Create a project rate card

> Requires the Project Rate Cards workspace feature and `useRateCards` turned on for the project.

A dated rate card holding the member and role billing rates that apply to a project over a period.


## OpenAPI

````yaml openapi.json POST /project-rate-cards
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 Receipts
    description: Download receipt files attached to expense 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 Billing Schedule Items
    description: Manage billing schedule items for fixed-fee project billing.
  - 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 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 Prepayments
    description: Manage prepayments invoiced up front to offset future fees on a project.
  - name: Project Product Items
    description: Manage project-level product line items.
  - name: Project Rate Cards
    description: >-
      Manage dated rate cards holding the member and role billing rates on a
      project.
  - 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 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: Tasks
    description: Manage tasks on projects for time tracking and planning.
  - 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:
  /project-rate-cards:
    post:
      tags:
        - Project Rate Cards
      summary: Create a project rate card
      description: >-
        Requires the Project Rate Cards workspace feature and `useRateCards`
        turned on for the project.
      operationId: create-a-project-rate-card
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - projectId
                - start
              properties:
                projectId:
                  type: string
                  description: >-
                    The unique identifier of the project the rate card belongs
                    to.
                start:
                  type: string
                  format: date
                  description: >-
                    The date the rate card takes effect. Will be in the form
                    YYYY-MM-DD. The new rate card starts from the rates in
                    effect on that date, and any rates supplied are written on
                    top.
                notes:
                  type:
                    - string
                    - 'null'
                  description: Notes describing the rate card.
                memberRates:
                  type: array
                  description: The member rates to write onto the rate card.
                  items:
                    type: object
                    required:
                      - memberId
                    properties:
                      memberId:
                        type: string
                        description: The unique identifier of the member.
                      rate:
                        type:
                          - number
                          - 'null'
                        description: The member's billing rate on this rate card.
                      overrideCostRate:
                        type: boolean
                        description: >-
                          Whether the member's cost rate is overridden on this
                          project.
                      costCurrency:
                        type:
                          - string
                          - 'null'
                        description: >-
                          The ISO 4217 currency code for the overridden cost
                          rate.
                      costPerHour:
                        type:
                          - number
                          - 'null'
                        description: The overridden cost per hour.
                      overheadCostPerHour:
                        type:
                          - number
                          - 'null'
                        description: The overridden overhead cost per hour.
                roleRates:
                  type: array
                  description: The role rates to write onto the rate card.
                  items:
                    type: object
                    required:
                      - projectRoleId
                    properties:
                      projectRoleId:
                        type: string
                        description: The unique identifier of the project role.
                      rate:
                        type:
                          - number
                          - 'null'
                        description: The role's billing rate on this rate card.
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectRateCard'
              examples:
                Result:
                  value:
                    id: 4f1c8e27-3d95-42ab-9b61-7c0e5a9d1382
                    notes: Rates agreed for the 2026 statement of work.
                    start: '2026-01-01'
                    end: null
                    isBudgetRateCard: false
                    createdAt: '2026-01-05T15:04:12.000Z'
                    project:
                      id: c4d5e6f7-8a9b-0c1d-2e3f-4a5b6c7d8e9f
                      name: Website Redesign
                      client:
                        id: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
                        name: Acme Corporation
                    memberRates:
                      - memberId: b7c8d9e0-1f2a-3b4c-5d6e-7f8a9b0c1d2e
                        rate: 185
                        overrideCostRate: true
                        costCurrency: USD
                        costPerHour: 85
                        overheadCostPerHour: 12.5
                    roleRates:
                      - projectRoleId: 9a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d
                        rate: 200
        '400':
          description: '400'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Validation:
                  value:
                    status: 400
                    message: >-
                      There was a problem processing your request. See errors
                      for more details.
                    errors:
                      - '''start'' is required'
                InvalidReference:
                  value:
                    status: 400
                    message: >-
                      'projectId' 'c4d5e6f7-8a9b-0c1d-2e3f-4a5b6c7d8e9f' does
                      not match a valid project.
                InvalidMemberReference:
                  value:
                    status: 400
                    message: >-
                      'memberId' 'b7c8d9e0-1f2a-3b4c-5d6e-7f8a9b0c1d2e' does not
                      match a valid project member.
                InvalidRoleReference:
                  value:
                    status: 400
                    message: >-
                      'projectRoleId' '9a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d'
                      does not match a valid project role.
        '403':
          description: '403'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Feature:
                  value:
                    status: 403
                    message: Feature 'Project Rate Cards' is not enabled.
        '409':
          description: '409'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Duplicate:
                  value:
                    status: 409
                    message: There is another rate card with the same start date.
      deprecated: false
components:
  schemas:
    ProjectRateCard:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the object.
        notes:
          type:
            - string
            - 'null'
          description: Notes describing the rate card.
        start:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date the rate card takes effect. Will be in the form YYYY-MM-DD.
            Null for the earliest rate card on a project, which covers every
            date before the next one.
        end:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The last date the rate card covers. Will be in the form YYYY-MM-DD.
            Derived from the start of the next rate card, and null for the last
            one.
        isBudgetRateCard:
          type: boolean
          description: Whether the project budget is priced with this rate card.
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the object was created.
        project:
          type: object
          description: The project this rate card belongs to.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the project.
            client:
              type: object
              description: The client associated with the project.
              properties:
                id:
                  type: string
                  description: The unique identifier for the object.
                name:
                  type: string
                  description: The name of the client.
        memberRates:
          type: array
          description: The member rates recorded on this rate card.
          items:
            type: object
            properties:
              memberId:
                type: string
                description: The unique identifier of the member.
              rate:
                type:
                  - number
                  - 'null'
                description: The member's billing rate on this rate card.
              overrideCostRate:
                type: boolean
                description: Whether the member's cost rate is overridden on this project.
              costCurrency:
                type:
                  - string
                  - 'null'
                description: >-
                  The ISO 4217 currency code for the overridden cost rate. Only
                  populated when `overrideCostRate` is `true`; otherwise `null`.
              costPerHour:
                type:
                  - number
                  - 'null'
                description: >-
                  The overridden cost per hour. Only populated when
                  `overrideCostRate` is `true`; otherwise `null`.
              overheadCostPerHour:
                type:
                  - number
                  - 'null'
                description: >-
                  The overridden overhead cost per hour. Only populated when
                  `overrideCostRate` is `true`; otherwise `null`.
        roleRates:
          type: array
          description: The role rates recorded on this rate card.
          items:
            type: object
            properties:
              projectRoleId:
                type: string
                description: The unique identifier of the project role.
              rate:
                type:
                  - number
                  - 'null'
                description: The role's billing rate on this rate card.
    ValidationErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
        message:
          type: string
          description: A human-readable error message.
        errors:
          type: array
          description: A list of validation error messages.
          items:
            type: string
    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

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.