# Create an allocation Source: https://docs.ruddr.io/api-reference/allocations/create-an-allocation openapi.json POST /allocations A resource allocation for a member or placeholder. # Delete an allocation Source: https://docs.ruddr.io/api-reference/allocations/delete-an-allocation openapi.json DELETE /allocations/{id} A resource allocation for a member or placeholder. # Get allocation dates Source: https://docs.ruddr.io/api-reference/allocations/get-allocation-dates openapi.json GET /allocations/{id}/dates A resource allocation for a member or placeholder. # Get an allocation Source: https://docs.ruddr.io/api-reference/allocations/get-an-allocation openapi.json GET /allocations/{id} A resource allocation for a member or placeholder. # List allocations Source: https://docs.ruddr.io/api-reference/allocations/list-allocations openapi.json GET /allocations A resource allocation for a member or placeholder. # Update an allocation Source: https://docs.ruddr.io/api-reference/allocations/update-an-allocation openapi.json PATCH /allocations/{id} A resource allocation for a member or placeholder. # Create an availability period Source: https://docs.ruddr.io/api-reference/availability-periods/create-an-availability-period openapi.json POST /availability-periods A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time. # Delete an availability period Source: https://docs.ruddr.io/api-reference/availability-periods/delete-an-availability-period openapi.json DELETE /availability-periods/{id} A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time. # Get an availability period Source: https://docs.ruddr.io/api-reference/availability-periods/get-an-availability-period openapi.json GET /availability-periods/{id} A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time. # List availability periods Source: https://docs.ruddr.io/api-reference/availability-periods/list-availability-periods openapi.json GET /availability-periods A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time. # Update an availability period Source: https://docs.ruddr.io/api-reference/availability-periods/update-an-availability-period openapi.json PATCH /availability-periods/{id} A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time. # Create a business unit Source: https://docs.ruddr.io/api-reference/business-units/create-a-business-unit openapi.json POST /business-units A named organizational unit used to configure invoice settings and group clients and projects. # Delete a business unit Source: https://docs.ruddr.io/api-reference/business-units/delete-a-business-unit openapi.json DELETE /business-units/{id} A named organizational unit used to configure invoice settings and group clients and projects. # Get a business unit Source: https://docs.ruddr.io/api-reference/business-units/get-a-business-unit openapi.json GET /business-units/{id} A named organizational unit used to configure invoice settings and group clients and projects. # List business units Source: https://docs.ruddr.io/api-reference/business-units/list-business-units openapi.json GET /business-units A named organizational unit used to configure invoice settings and group clients and projects. # Update a business unit Source: https://docs.ruddr.io/api-reference/business-units/update-a-business-unit openapi.json PATCH /business-units/{id} A named organizational unit used to configure invoice settings and group clients and projects. # Create a standalone client role Source: https://docs.ruddr.io/api-reference/client-roles/create-a-client-role openapi.json POST /client-roles Create a standalone client role with custom billing terms. To create a client role linked to a workspace role, use `POST /client-roles/link` instead. A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields. # Delete a client role Source: https://docs.ruddr.io/api-reference/client-roles/delete-a-client-role openapi.json DELETE /client-roles/{id} A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields. # Get a client role Source: https://docs.ruddr.io/api-reference/client-roles/get-a-client-role openapi.json GET /client-roles/{id} A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields. # Link a client role to a workspace role Source: https://docs.ruddr.io/api-reference/client-roles/link-a-client-role openapi.json POST /client-roles/link Create a client role linked to a workspace role. All billing and classification fields are automatically populated from the workspace role. A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields. # List client roles Source: https://docs.ruddr.io/api-reference/client-roles/list-client-roles openapi.json GET /client-roles A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields. # Update a client role Source: https://docs.ruddr.io/api-reference/client-roles/update-a-client-role openapi.json PATCH /client-roles/{id} Linked client roles (where `workspaceRole` is not `null`) cannot be modified and will return a 409 ReadOnlyError. Delete and recreate to change linking. A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields. # Create a client tag Source: https://docs.ruddr.io/api-reference/client-tags/create-a-client-tag openapi.json POST /client-tags A custom attribute that can be assigned to clients and used to filter reports. # Delete a client tag Source: https://docs.ruddr.io/api-reference/client-tags/delete-a-client-tag openapi.json DELETE /client-tags/{id} A custom attribute that can be assigned to clients and used to filter reports. # Get a client tag Source: https://docs.ruddr.io/api-reference/client-tags/get-a-client-tag openapi.json GET /client-tags/{id} A custom attribute that can be assigned to clients and used to filter reports. # List client tags Source: https://docs.ruddr.io/api-reference/client-tags/list-client-tags openapi.json GET /client-tags A custom attribute that can be assigned to clients and used to filter reports. # Update a client tag Source: https://docs.ruddr.io/api-reference/client-tags/update-a-client-tag openapi.json PATCH /client-tags/{id} A custom attribute that can be assigned to clients and used to filter reports. # Create a client Source: https://docs.ruddr.io/api-reference/clients/create-a-client openapi.json POST /clients A person or organization using your services. All projects are tied to a client. # Delete a client Source: https://docs.ruddr.io/api-reference/clients/delete-a-client openapi.json DELETE /clients/{id} A person or organization using your services. All projects are tied to a client. # Get a client Source: https://docs.ruddr.io/api-reference/clients/get-a-client openapi.json GET /clients/{id} A person or organization using your services. All projects are tied to a client. # List clients Source: https://docs.ruddr.io/api-reference/clients/list-clients openapi.json GET /clients A person or organization using your services. All projects are tied to a client. # Update a client Source: https://docs.ruddr.io/api-reference/clients/update-a-client openapi.json PATCH /clients/{id} A person or organization using your services. All projects are tied to a client. # Create a company Source: https://docs.ruddr.io/api-reference/companies/create-a-company openapi.json POST /companies An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts. # Delete a company Source: https://docs.ruddr.io/api-reference/companies/delete-a-company openapi.json DELETE /companies/{id} An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts. # Get a company Source: https://docs.ruddr.io/api-reference/companies/get-a-company openapi.json GET /companies/{id} An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts. # List companies Source: https://docs.ruddr.io/api-reference/companies/list-companies openapi.json GET /companies An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts. # Update a company Source: https://docs.ruddr.io/api-reference/companies/update-a-company openapi.json PATCH /companies/{id} An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts. # Create a company spend tier Source: https://docs.ruddr.io/api-reference/company-spend-tiers/create-a-company-spend-tier openapi.json POST /company-spend-tiers A tier used to categorize companies based on their annual spend. # Delete a company spend tier Source: https://docs.ruddr.io/api-reference/company-spend-tiers/delete-a-company-spend-tier openapi.json DELETE /company-spend-tiers/{id} A tier used to categorize companies based on their annual spend. # Get a company spend tier Source: https://docs.ruddr.io/api-reference/company-spend-tiers/get-a-company-spend-tier openapi.json GET /company-spend-tiers/{id} A tier used to categorize companies based on their annual spend. # List company spend tiers Source: https://docs.ruddr.io/api-reference/company-spend-tiers/list-company-spend-tiers openapi.json GET /company-spend-tiers A tier used to categorize companies based on their annual spend. # Update a company spend tier Source: https://docs.ruddr.io/api-reference/company-spend-tiers/update-a-company-spend-tier openapi.json PATCH /company-spend-tiers/{id} A tier used to categorize companies based on their annual spend. # Create a company type Source: https://docs.ruddr.io/api-reference/company-types/create-a-company-type openapi.json POST /company-types A classification used to categorize companies within the pipeline. # Delete a company type Source: https://docs.ruddr.io/api-reference/company-types/delete-a-company-type openapi.json DELETE /company-types/{id} A classification used to categorize companies within the pipeline. # Get a company type Source: https://docs.ruddr.io/api-reference/company-types/get-a-company-type openapi.json GET /company-types/{id} A classification used to categorize companies within the pipeline. # List company types Source: https://docs.ruddr.io/api-reference/company-types/list-company-types openapi.json GET /company-types A classification used to categorize companies within the pipeline. # Update a company type Source: https://docs.ruddr.io/api-reference/company-types/update-a-company-type openapi.json PATCH /company-types/{id} A classification used to categorize companies within the pipeline. # Create a contact tag Source: https://docs.ruddr.io/api-reference/contact-tags/create-a-contact-tag openapi.json POST /contact-tags A custom attribute that can be assigned to contacts and used to filter reports. # Delete a contact tag Source: https://docs.ruddr.io/api-reference/contact-tags/delete-a-contact-tag openapi.json DELETE /contact-tags/{id} A custom attribute that can be assigned to contacts and used to filter reports. # Get a contact tag Source: https://docs.ruddr.io/api-reference/contact-tags/get-a-contact-tag openapi.json GET /contact-tags/{id} A custom attribute that can be assigned to contacts and used to filter reports. # List contact tags Source: https://docs.ruddr.io/api-reference/contact-tags/list-contact-tags openapi.json GET /contact-tags A custom attribute that can be assigned to contacts and used to filter reports. # Update a contact tag Source: https://docs.ruddr.io/api-reference/contact-tags/update-a-contact-tag openapi.json PATCH /contact-tags/{id} A custom attribute that can be assigned to contacts and used to filter reports. # Create a contact Source: https://docs.ruddr.io/api-reference/contacts/create-a-contact openapi.json POST /contacts A person associated with a client, company, or opportunity in your workspace. # Delete a contact Source: https://docs.ruddr.io/api-reference/contacts/delete-a-contact openapi.json DELETE /contacts/{id} A person associated with a client, company, or opportunity in your workspace. # Get a contact Source: https://docs.ruddr.io/api-reference/contacts/get-a-contact openapi.json GET /contacts/{id} A person associated with a client, company, or opportunity in your workspace. # List contacts Source: https://docs.ruddr.io/api-reference/contacts/list-contacts openapi.json GET /contacts A person associated with a client, company, or opportunity in your workspace. # Update a contact Source: https://docs.ruddr.io/api-reference/contacts/update-a-contact openapi.json PATCH /contacts/{id} A person associated with a client, company, or opportunity in your workspace. # Create a cost period Source: https://docs.ruddr.io/api-reference/cost-periods/create-a-cost-period openapi.json POST /cost-periods A period defining the per-hour labor and overhead costs for a member. # Delete a cost period Source: https://docs.ruddr.io/api-reference/cost-periods/delete-a-cost-period openapi.json DELETE /cost-periods/{id} A period defining the per-hour labor and overhead costs for a member. # Get a cost period Source: https://docs.ruddr.io/api-reference/cost-periods/get-a-cost-period openapi.json GET /cost-periods/{id} A period defining the per-hour labor and overhead costs for a member. # List cost periods Source: https://docs.ruddr.io/api-reference/cost-periods/list-cost-periods openapi.json GET /cost-periods A period defining the per-hour labor and overhead costs for a member. # Update a cost period Source: https://docs.ruddr.io/api-reference/cost-periods/update-a-cost-period openapi.json PATCH /cost-periods/{id} A period defining the per-hour labor and overhead costs for a member. # Get a credit note Source: https://docs.ruddr.io/api-reference/credit-notes/get-a-credit-note openapi.json GET /credit-notes/{id} A document issued to reduce the amount owed by a client on a previous invoice. # List credit notes Source: https://docs.ruddr.io/api-reference/credit-notes/list-credit-notes openapi.json GET /credit-notes A document issued to reduce the amount owed by a client on a previous invoice. # Create a discipline Source: https://docs.ruddr.io/api-reference/disciplines/create-a-discipline openapi.json POST /disciplines A grouping of common capabilities within the organization. # Delete a discipline Source: https://docs.ruddr.io/api-reference/disciplines/delete-a-discipline openapi.json DELETE /disciplines/{id} A grouping of common capabilities within the organization. # Get a discipline Source: https://docs.ruddr.io/api-reference/disciplines/get-a-discipline openapi.json GET /disciplines/{id} A grouping of common capabilities within the organization. # List disciplines Source: https://docs.ruddr.io/api-reference/disciplines/list-disciplines openapi.json GET /disciplines A grouping of common capabilities within the organization. # Update a discipline Source: https://docs.ruddr.io/api-reference/disciplines/update-a-discipline openapi.json PATCH /disciplines/{id} A grouping of common capabilities within the organization. # Create an exchange rate period Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/create-an-exchange-rate-period openapi.json POST /exchange-rate-periods A custom exchange rate for a specific date range, overriding the default workspace exchange rates. # Delete an exchange rate period Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/delete-an-exchange-rate-period openapi.json DELETE /exchange-rate-periods/{id} A custom exchange rate for a specific date range, overriding the default workspace exchange rates. # Get an exchange rate period Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/get-an-exchange-rate-period openapi.json GET /exchange-rate-periods/{id} A custom exchange rate for a specific date range, overriding the default workspace exchange rates. # List exchange rate periods Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/list-exchange-rate-periods openapi.json GET /exchange-rate-periods A custom exchange rate for a specific date range, overriding the default workspace exchange rates. # Update an exchange rate period Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/update-an-exchange-rate-period openapi.json PATCH /exchange-rate-periods/{id} A custom exchange rate for a specific date range, overriding the default workspace exchange rates. # Get exchange rates Source: https://docs.ruddr.io/api-reference/exchange-rate/get-exchange-rates openapi.json GET /exchange-rate Get the list of exchange rates for a date and source currency. The exchange rates for the workspace's currencies. # Create an expense category Source: https://docs.ruddr.io/api-reference/expense-categories/create-an-expense-category openapi.json POST /expense-categories A category assigned to expense items. Can also be used to build expense budgets for projects. # Delete an expense category Source: https://docs.ruddr.io/api-reference/expense-categories/delete-an-expense-category openapi.json DELETE /expense-categories/{id} A category assigned to expense items. Can also be used to build expense budgets for projects. # Get an expense category Source: https://docs.ruddr.io/api-reference/expense-categories/get-an-expense-category openapi.json GET /expense-categories/{id} A category assigned to expense items. Can also be used to build expense budgets for projects. # List expense categories Source: https://docs.ruddr.io/api-reference/expense-categories/list-expense-categories openapi.json GET /expense-categories A category assigned to expense items. Can also be used to build expense budgets for projects. # Update an expense category Source: https://docs.ruddr.io/api-reference/expense-categories/update-an-expense-category openapi.json PATCH /expense-categories/{id} A category assigned to expense items. Can also be used to build expense budgets for projects. # Create an expense item Source: https://docs.ruddr.io/api-reference/expense-items/create-an-expense-item openapi.json POST /expense-items A purchased product or service recorded for reimbursement or project billing. # Delete an expense item Source: https://docs.ruddr.io/api-reference/expense-items/delete-an-expense-item openapi.json DELETE /expense-items/{id} A purchased product or service recorded for reimbursement or project billing. # Get an expense item Source: https://docs.ruddr.io/api-reference/expense-items/get-an-expense-item openapi.json GET /expense-items/{id} A purchased product or service recorded for reimbursement or project billing. # List expense items Source: https://docs.ruddr.io/api-reference/expense-items/list-expense-items openapi.json GET /expense-items A purchased product or service recorded for reimbursement or project billing. # Update an expense item Source: https://docs.ruddr.io/api-reference/expense-items/update-an-expense-item openapi.json PATCH /expense-items/{id} A purchased product or service recorded for reimbursement or project billing. # Create an expense report Source: https://docs.ruddr.io/api-reference/expense-reports/create-an-expense-report openapi.json POST /expense-reports A container for expense items. This helps group expenses for a specific purpose. # Delete an expense report Source: https://docs.ruddr.io/api-reference/expense-reports/delete-an-expense-report openapi.json DELETE /expense-reports/{id} A container for expense items. This helps group expenses for a specific purpose. # Get an expense report Source: https://docs.ruddr.io/api-reference/expense-reports/get-an-expense-report openapi.json GET /expense-reports/{id} A container for expense items. This helps group expenses for a specific purpose. # List expense reports Source: https://docs.ruddr.io/api-reference/expense-reports/list-expense-reports openapi.json GET /expense-reports A container for expense items. This helps group expenses for a specific purpose. # Update an expense report Source: https://docs.ruddr.io/api-reference/expense-reports/update-an-expense-report openapi.json PATCH /expense-reports/{id} A container for expense items. This helps group expenses for a specific purpose. # Create a holiday schedule Source: https://docs.ruddr.io/api-reference/holiday-schedules/create-a-holiday-schedule openapi.json POST /holiday-schedules A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region. # Delete a holiday schedule Source: https://docs.ruddr.io/api-reference/holiday-schedules/delete-a-holiday-schedule openapi.json DELETE /holiday-schedules/{id} A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region. # Get a holiday schedule Source: https://docs.ruddr.io/api-reference/holiday-schedules/get-a-holiday-schedule openapi.json GET /holiday-schedules/{id} A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region. # List holiday schedules Source: https://docs.ruddr.io/api-reference/holiday-schedules/list-holiday-schedules openapi.json GET /holiday-schedules A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region. # Update a holiday schedule Source: https://docs.ruddr.io/api-reference/holiday-schedules/update-a-holiday-schedule openapi.json PATCH /holiday-schedules/{id} A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region. # Create a holiday Source: https://docs.ruddr.io/api-reference/holidays/create-a-holiday openapi.json POST /holidays A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays. # Delete a holiday Source: https://docs.ruddr.io/api-reference/holidays/delete-a-holiday openapi.json DELETE /holidays/{id} A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays. # Get a holiday Source: https://docs.ruddr.io/api-reference/holidays/get-a-holiday openapi.json GET /holidays/{id} A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays. # List holidays Source: https://docs.ruddr.io/api-reference/holidays/list-holidays openapi.json GET /holidays A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays. # Update a holiday Source: https://docs.ruddr.io/api-reference/holidays/update-a-holiday openapi.json PATCH /holidays/{id} A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays. # Create an industry Source: https://docs.ruddr.io/api-reference/industries/create-an-industry openapi.json POST /industries A classification that can be assigned to clients and used to filter reports. # Delete an industry Source: https://docs.ruddr.io/api-reference/industries/delete-an-industry openapi.json DELETE /industries/{id} A classification that can be assigned to clients and used to filter reports. # Get an industry Source: https://docs.ruddr.io/api-reference/industries/get-an-industry openapi.json GET /industries/{id} A classification that can be assigned to clients and used to filter reports. # List industries Source: https://docs.ruddr.io/api-reference/industries/list-industries openapi.json GET /industries A classification that can be assigned to clients and used to filter reports. # Update an industry Source: https://docs.ruddr.io/api-reference/industries/update-an-industry openapi.json PATCH /industries/{id} A classification that can be assigned to clients and used to filter reports. # Create an invoice item Source: https://docs.ruddr.io/api-reference/invoice-items/create-an-invoice-item openapi.json POST /invoice-items A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item. # Delete an invoice item Source: https://docs.ruddr.io/api-reference/invoice-items/delete-an-invoice-item openapi.json DELETE /invoice-items/{id} A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item. # Get an invoice item Source: https://docs.ruddr.io/api-reference/invoice-items/get-an-invoice-item openapi.json GET /invoice-items/{id} A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item. # List invoice items Source: https://docs.ruddr.io/api-reference/invoice-items/list-invoice-items openapi.json GET /invoice-items A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item. # Update an invoice item Source: https://docs.ruddr.io/api-reference/invoice-items/update-an-invoice-item openapi.json PATCH /invoice-items/{id} A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item. # Get an invoice Source: https://docs.ruddr.io/api-reference/invoices/get-an-invoice openapi.json GET /invoices/{id} A document sent to request payment for goods or services. # List invoices Source: https://docs.ruddr.io/api-reference/invoices/list-invoices openapi.json GET /invoices A document sent to request payment for goods or services. # Create a job title Source: https://docs.ruddr.io/api-reference/job-titles/create-a-job-title openapi.json POST /job-titles A title that can be assigned to workspace members and used to filter reports. # Delete a job title Source: https://docs.ruddr.io/api-reference/job-titles/delete-a-job-title openapi.json DELETE /job-titles/{id} A title that can be assigned to workspace members and used to filter reports. # Get a job title Source: https://docs.ruddr.io/api-reference/job-titles/get-a-job-title openapi.json GET /job-titles/{id} A title that can be assigned to workspace members and used to filter reports. # List job titles Source: https://docs.ruddr.io/api-reference/job-titles/list-job-titles openapi.json GET /job-titles A title that can be assigned to workspace members and used to filter reports. # Update a job title Source: https://docs.ruddr.io/api-reference/job-titles/update-a-job-title openapi.json PATCH /job-titles/{id} A title that can be assigned to workspace members and used to filter reports. # Create a location Source: https://docs.ruddr.io/api-reference/locations/create-a-location openapi.json POST /locations A physical or logical location used to organize service offerings and personnel. # Delete a location Source: https://docs.ruddr.io/api-reference/locations/delete-a-location openapi.json DELETE /locations/{id} A physical or logical location used to organize service offerings and personnel. # Get a location Source: https://docs.ruddr.io/api-reference/locations/get-a-location openapi.json GET /locations/{id} A physical or logical location used to organize service offerings and personnel. # List locations Source: https://docs.ruddr.io/api-reference/locations/list-locations openapi.json GET /locations A physical or logical location used to organize service offerings and personnel. # Update a location Source: https://docs.ruddr.io/api-reference/locations/update-a-location openapi.json PATCH /locations/{id} A physical or logical location used to organize service offerings and personnel. # Create a member certification Source: https://docs.ruddr.io/api-reference/member-certifications/create-a-member-certification openapi.json POST /member-certifications A certification or credential that can be assigned to members. # Delete a member certification Source: https://docs.ruddr.io/api-reference/member-certifications/delete-a-member-certification openapi.json DELETE /member-certifications/{id} A certification or credential that can be assigned to members. # Get a member certification Source: https://docs.ruddr.io/api-reference/member-certifications/get-a-member-certification openapi.json GET /member-certifications/{id} A certification or credential that can be assigned to members. # List member certifications Source: https://docs.ruddr.io/api-reference/member-certifications/list-member-certifications openapi.json GET /member-certifications A certification or credential that can be assigned to members. # Update a member certification Source: https://docs.ruddr.io/api-reference/member-certifications/update-a-member-certification openapi.json PATCH /member-certifications/{id} A certification or credential that can be assigned to members. # Create a member level Source: https://docs.ruddr.io/api-reference/member-levels/create-a-member-level openapi.json POST /member-levels A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead). # Delete a member level Source: https://docs.ruddr.io/api-reference/member-levels/delete-a-member-level openapi.json DELETE /member-levels/{id} A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead). # Get a member level Source: https://docs.ruddr.io/api-reference/member-levels/get-a-member-level openapi.json GET /member-levels/{id} A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead). # List member levels Source: https://docs.ruddr.io/api-reference/member-levels/list-member-levels openapi.json GET /member-levels A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead). # Update a member level Source: https://docs.ruddr.io/api-reference/member-levels/update-a-member-level openapi.json PATCH /member-levels/{id} A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead). # Create a member tag Source: https://docs.ruddr.io/api-reference/member-tags/create-a-member-tag openapi.json POST /member-tags A custom attribute that can be assigned to members and used to filter reports. # Delete a member tag Source: https://docs.ruddr.io/api-reference/member-tags/delete-a-member-tag openapi.json DELETE /member-tags/{id} A custom attribute that can be assigned to members and used to filter reports. # Get a member tag Source: https://docs.ruddr.io/api-reference/member-tags/get-a-member-tag openapi.json GET /member-tags/{id} A custom attribute that can be assigned to members and used to filter reports. # List member tags Source: https://docs.ruddr.io/api-reference/member-tags/list-member-tags openapi.json GET /member-tags A custom attribute that can be assigned to members and used to filter reports. # Update a member tag Source: https://docs.ruddr.io/api-reference/member-tags/update-a-member-tag openapi.json PATCH /member-tags/{id} A custom attribute that can be assigned to members and used to filter reports. # Create a member Source: https://docs.ruddr.io/api-reference/members/create-a-member openapi.json POST /members A person that belongs to your workspace. # Delete a member Source: https://docs.ruddr.io/api-reference/members/delete-a-member openapi.json DELETE /members/{id} A person that belongs to your workspace. # Get a member Source: https://docs.ruddr.io/api-reference/members/get-a-member openapi.json GET /members/{id} A person that belongs to your workspace. # Invite a member Source: https://docs.ruddr.io/api-reference/members/invite-a-member openapi.json POST /members/{id}/invite 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. # List members Source: https://docs.ruddr.io/api-reference/members/list-members openapi.json GET /members A person that belongs to your workspace. # Update a member Source: https://docs.ruddr.io/api-reference/members/update-a-member openapi.json PATCH /members/{id} A person that belongs to your workspace. # Create an opportunity Source: https://docs.ruddr.io/api-reference/opportunities/create-an-opportunity openapi.json POST /opportunities A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date. # Delete an opportunity Source: https://docs.ruddr.io/api-reference/opportunities/delete-an-opportunity openapi.json DELETE /opportunities/{id} A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date. # Get an opportunity Source: https://docs.ruddr.io/api-reference/opportunities/get-an-opportunity openapi.json GET /opportunities/{id} A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date. # List opportunities Source: https://docs.ruddr.io/api-reference/opportunities/list-opportunities openapi.json GET /opportunities A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date. # Update an opportunity Source: https://docs.ruddr.io/api-reference/opportunities/update-an-opportunity openapi.json PATCH /opportunities/{id} A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date. # Create an opportunity lead source Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/create-an-opportunity-lead-source openapi.json POST /opportunity-lead-sources A classification for tracking how an opportunity was sourced. # Delete an opportunity lead source Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/delete-an-opportunity-lead-source openapi.json DELETE /opportunity-lead-sources/{id} A classification for tracking how an opportunity was sourced. # Get an opportunity lead source Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/get-an-opportunity-lead-source openapi.json GET /opportunity-lead-sources/{id} A classification for tracking how an opportunity was sourced. # List opportunity lead sources Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/list-opportunity-lead-sources openapi.json GET /opportunity-lead-sources A classification for tracking how an opportunity was sourced. # Update an opportunity lead source Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/update-an-opportunity-lead-source openapi.json PATCH /opportunity-lead-sources/{id} A classification for tracking how an opportunity was sourced. # Create an opportunity pipeline Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/create-an-opportunity-pipeline openapi.json POST /opportunity-pipelines A pipeline used to categorize and track opportunities through different stages. # Delete an opportunity pipeline Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/delete-an-opportunity-pipeline openapi.json DELETE /opportunity-pipelines/{id} A pipeline used to categorize and track opportunities through different stages. # Get an opportunity pipeline Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/get-an-opportunity-pipeline openapi.json GET /opportunity-pipelines/{id} A pipeline used to categorize and track opportunities through different stages. # List opportunity pipelines Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/list-opportunity-pipelines openapi.json GET /opportunity-pipelines A pipeline used to categorize and track opportunities through different stages. # Update an opportunity pipeline Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/update-an-opportunity-pipeline openapi.json PATCH /opportunity-pipelines/{id} A pipeline used to categorize and track opportunities through different stages. # Create an opportunity stage Source: https://docs.ruddr.io/api-reference/opportunity-stages/create-an-opportunity-stage openapi.json POST /opportunity-stages A stage in the sales process used to track the progress of an opportunity. # Delete an opportunity stage Source: https://docs.ruddr.io/api-reference/opportunity-stages/delete-an-opportunity-stage openapi.json DELETE /opportunity-stages/{id} A stage in the sales process used to track the progress of an opportunity. # Get an opportunity stage Source: https://docs.ruddr.io/api-reference/opportunity-stages/get-an-opportunity-stage openapi.json GET /opportunity-stages/{id} A stage in the sales process used to track the progress of an opportunity. # List opportunity stages Source: https://docs.ruddr.io/api-reference/opportunity-stages/list-opportunity-stages openapi.json GET /opportunity-stages A stage in the sales process used to track the progress of an opportunity. # Update an opportunity stage Source: https://docs.ruddr.io/api-reference/opportunity-stages/update-an-opportunity-stage openapi.json PATCH /opportunity-stages/{id} A stage in the sales process used to track the progress of an opportunity. # Create an opportunity tag Source: https://docs.ruddr.io/api-reference/opportunity-tags/create-an-opportunity-tag openapi.json POST /opportunity-tags A custom attribute that can be assigned to opportunities and used to filter reports. # Delete an opportunity tag Source: https://docs.ruddr.io/api-reference/opportunity-tags/delete-an-opportunity-tag openapi.json DELETE /opportunity-tags/{id} A custom attribute that can be assigned to opportunities and used to filter reports. # Get an opportunity tag Source: https://docs.ruddr.io/api-reference/opportunity-tags/get-an-opportunity-tag openapi.json GET /opportunity-tags/{id} A custom attribute that can be assigned to opportunities and used to filter reports. # List opportunity tags Source: https://docs.ruddr.io/api-reference/opportunity-tags/list-opportunity-tags openapi.json GET /opportunity-tags A custom attribute that can be assigned to opportunities and used to filter reports. # Update an opportunity tag Source: https://docs.ruddr.io/api-reference/opportunity-tags/update-an-opportunity-tag openapi.json PATCH /opportunity-tags/{id} A custom attribute that can be assigned to opportunities and used to filter reports. # Create an opportunity type Source: https://docs.ruddr.io/api-reference/opportunity-types/create-an-opportunity-type openapi.json POST /opportunity-types A classification used to categorize opportunities. # Delete an opportunity type Source: https://docs.ruddr.io/api-reference/opportunity-types/delete-an-opportunity-type openapi.json DELETE /opportunity-types/{id} A classification used to categorize opportunities. # Get an opportunity type Source: https://docs.ruddr.io/api-reference/opportunity-types/get-an-opportunity-type openapi.json GET /opportunity-types/{id} A classification used to categorize opportunities. # List opportunity types Source: https://docs.ruddr.io/api-reference/opportunity-types/list-opportunity-types openapi.json GET /opportunity-types A classification used to categorize opportunities. # Update an opportunity type Source: https://docs.ruddr.io/api-reference/opportunity-types/update-an-opportunity-type openapi.json PATCH /opportunity-types/{id} A classification used to categorize opportunities. # Create a payment method Source: https://docs.ruddr.io/api-reference/payment-methods/create-a-payment-method openapi.json POST /payment-methods A method of payment that can be assigned to payments (for example, Check, Wire, or ACH). # Delete a payment method Source: https://docs.ruddr.io/api-reference/payment-methods/delete-a-payment-method openapi.json DELETE /payment-methods/{id} A method of payment that can be assigned to payments (for example, Check, Wire, or ACH). # Get a payment method Source: https://docs.ruddr.io/api-reference/payment-methods/get-a-payment-method openapi.json GET /payment-methods/{id} A method of payment that can be assigned to payments (for example, Check, Wire, or ACH). # List payment methods Source: https://docs.ruddr.io/api-reference/payment-methods/list-payment-methods openapi.json GET /payment-methods A method of payment that can be assigned to payments (for example, Check, Wire, or ACH). # Update a payment method Source: https://docs.ruddr.io/api-reference/payment-methods/update-a-payment-method openapi.json PATCH /payment-methods/{id} A method of payment that can be assigned to payments (for example, Check, Wire, or ACH). # Get a payment Source: https://docs.ruddr.io/api-reference/payments/get-a-payment openapi.json GET /payments/{id} A client's payment towards one or more invoices. # List payments Source: https://docs.ruddr.io/api-reference/payments/list-payments openapi.json GET /payments A client's payment towards one or more invoices. # Create a pipeline activity Source: https://docs.ruddr.io/api-reference/pipeline-activities/create-a-pipeline-activity openapi.json POST /pipeline-activities A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities. # Delete a pipeline activity Source: https://docs.ruddr.io/api-reference/pipeline-activities/delete-a-pipeline-activity openapi.json DELETE /pipeline-activities/{id} A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities. # Get a pipeline activity Source: https://docs.ruddr.io/api-reference/pipeline-activities/get-a-pipeline-activity openapi.json GET /pipeline-activities/{id} A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities. # List pipeline activities Source: https://docs.ruddr.io/api-reference/pipeline-activities/list-pipeline-activities openapi.json GET /pipeline-activities A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities. # Update a pipeline activity Source: https://docs.ruddr.io/api-reference/pipeline-activities/update-a-pipeline-activity openapi.json PATCH /pipeline-activities/{id} A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities. # Create a pipeline activity type Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/create-a-pipeline-activity-type openapi.json POST /pipeline-activity-types A classification for activities that occur during the sales process. # Delete a pipeline activity type Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/delete-a-pipeline-activity-type openapi.json DELETE /pipeline-activity-types/{id} A classification for activities that occur during the sales process. # Get a pipeline activity type Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/get-a-pipeline-activity-type openapi.json GET /pipeline-activity-types/{id} A classification for activities that occur during the sales process. # List pipeline activity types Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/list-pipeline-activity-types openapi.json GET /pipeline-activity-types A classification for activities that occur during the sales process. # Update a pipeline activity type Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/update-a-pipeline-activity-type openapi.json PATCH /pipeline-activity-types/{id} A classification for activities that occur during the sales process. # Create a practice Source: https://docs.ruddr.io/api-reference/practices/create-a-practice openapi.json POST /practices A functional area used to group service offerings and personnel within the organization. # Delete a practice Source: https://docs.ruddr.io/api-reference/practices/delete-a-practice openapi.json DELETE /practices/{id} A functional area used to group service offerings and personnel within the organization. # Get a practice Source: https://docs.ruddr.io/api-reference/practices/get-a-practice openapi.json GET /practices/{id} A functional area used to group service offerings and personnel within the organization. # List practices Source: https://docs.ruddr.io/api-reference/practices/list-practices openapi.json GET /practices A functional area used to group service offerings and personnel within the organization. # Update a practice Source: https://docs.ruddr.io/api-reference/practices/update-a-practice openapi.json PATCH /practices/{id} A functional area used to group service offerings and personnel within the organization. # Create a project budget expense Source: https://docs.ruddr.io/api-reference/project-budget-expenses/create-a-project-budget-expense openapi.json POST /project-budget-expenses The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated". # Delete a project budget expense Source: https://docs.ruddr.io/api-reference/project-budget-expenses/delete-a-project-budget-expense openapi.json DELETE /project-budget-expenses/{id} The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated". # Get a project budget expense Source: https://docs.ruddr.io/api-reference/project-budget-expenses/get-a-project-budget-expense openapi.json GET /project-budget-expenses/{id} The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated". # List project budget expenses Source: https://docs.ruddr.io/api-reference/project-budget-expenses/list-project-budget-expenses openapi.json GET /project-budget-expenses The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated". # Update a project budget expense Source: https://docs.ruddr.io/api-reference/project-budget-expenses/update-a-project-budget-expense openapi.json PATCH /project-budget-expenses/{id} The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated". # Create a project budget other item Source: https://docs.ruddr.io/api-reference/project-budget-other-items/create-a-project-budget-other-item openapi.json POST /project-budget-other-items The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Delete a project budget other item Source: https://docs.ruddr.io/api-reference/project-budget-other-items/delete-a-project-budget-other-item openapi.json DELETE /project-budget-other-items/{id} The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Get a project budget other item Source: https://docs.ruddr.io/api-reference/project-budget-other-items/get-a-project-budget-other-item openapi.json GET /project-budget-other-items/{id} The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # List project budget other items Source: https://docs.ruddr.io/api-reference/project-budget-other-items/list-project-budget-other-items openapi.json GET /project-budget-other-items The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Update a project budget other item Source: https://docs.ruddr.io/api-reference/project-budget-other-items/update-a-project-budget-other-item openapi.json PATCH /project-budget-other-items/{id} The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Create a project budget product item Source: https://docs.ruddr.io/api-reference/project-budget-product-items/create-a-project-budget-product-item openapi.json POST /project-budget-product-items The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Delete a project budget product item Source: https://docs.ruddr.io/api-reference/project-budget-product-items/delete-a-project-budget-product-item openapi.json DELETE /project-budget-product-items/{id} The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Get a project budget product item Source: https://docs.ruddr.io/api-reference/project-budget-product-items/get-a-project-budget-product-item openapi.json GET /project-budget-product-items/{id} The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # List project budget product items Source: https://docs.ruddr.io/api-reference/project-budget-product-items/list-project-budget-product-items openapi.json GET /project-budget-product-items The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Update a project budget product item Source: https://docs.ruddr.io/api-reference/project-budget-product-items/update-a-project-budget-product-item openapi.json PATCH /project-budget-product-items/{id} The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Create a project budget service item Source: https://docs.ruddr.io/api-reference/project-budget-service-items/create-a-project-budget-service-item openapi.json POST /project-budget-service-items The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Delete a project budget service item Source: https://docs.ruddr.io/api-reference/project-budget-service-items/delete-a-project-budget-service-item openapi.json DELETE /project-budget-service-items/{id} The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Get a project budget service item Source: https://docs.ruddr.io/api-reference/project-budget-service-items/get-a-project-budget-service-item openapi.json GET /project-budget-service-items/{id} The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # List project budget service items Source: https://docs.ruddr.io/api-reference/project-budget-service-items/list-project-budget-service-items openapi.json GET /project-budget-service-items The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Update a project budget service item Source: https://docs.ruddr.io/api-reference/project-budget-service-items/update-a-project-budget-service-item openapi.json PATCH /project-budget-service-items/{id} The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated". # Create a project expense Source: https://docs.ruddr.io/api-reference/project-expenses/create-a-project-expense openapi.json POST /project-expenses Scheduled project expenses that are outside a member's expense reports. # Delete a project expense Source: https://docs.ruddr.io/api-reference/project-expenses/delete-a-project-expense openapi.json DELETE /project-expenses/{id} Scheduled project expenses that are outside a member's expense reports. # Get a project expense Source: https://docs.ruddr.io/api-reference/project-expenses/get-a-project-expense openapi.json GET /project-expenses/{id} Scheduled project expenses that are outside a member's expense reports. # List project expenses Source: https://docs.ruddr.io/api-reference/project-expenses/list-project-expenses openapi.json GET /project-expenses Scheduled project expenses that are outside a member's expense reports. # Update a project expense Source: https://docs.ruddr.io/api-reference/project-expenses/update-a-project-expense openapi.json PATCH /project-expenses/{id} Scheduled project expenses that are outside a member's expense reports. # Get a project group Source: https://docs.ruddr.io/api-reference/project-groups/get-a-project-group openapi.json GET /project-groups/{id} A collection of related projects under a client, used for organizing and filtering. # List project groups Source: https://docs.ruddr.io/api-reference/project-groups/list-project-groups openapi.json GET /project-groups A collection of related projects under a client, used for organizing and filtering. # Create a project health report Source: https://docs.ruddr.io/api-reference/project-health-reports/create-a-project-health-report openapi.json POST /project-health-reports A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction. # Delete a project health report Source: https://docs.ruddr.io/api-reference/project-health-reports/delete-a-project-health-report openapi.json DELETE /project-health-reports/{id} A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction. # Get a project health report Source: https://docs.ruddr.io/api-reference/project-health-reports/get-a-project-health-report openapi.json GET /project-health-reports/{id} A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction. # List project health reports Source: https://docs.ruddr.io/api-reference/project-health-reports/list-project-health-reports openapi.json GET /project-health-reports A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction. # Update a project health report Source: https://docs.ruddr.io/api-reference/project-health-reports/update-a-project-health-report openapi.json PATCH /project-health-reports/{id} A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction. # Create a project invoice milestone Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/create-a-project-invoice-milestone openapi.json POST /project-invoice-milestones Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring". # Delete a project invoice milestone Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/delete-a-project-invoice-milestone openapi.json DELETE /project-invoice-milestones/{id} Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring". # Get a project invoice milestone Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/get-a-project-invoice-milestone openapi.json GET /project-invoice-milestones/{id} Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring". # List project invoice milestones Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/list-project-invoice-milestones openapi.json GET /project-invoice-milestones Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring". # Update a project invoice milestone Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/update-a-project-invoice-milestone openapi.json PATCH /project-invoice-milestones/{id} Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring". # Create a project member Source: https://docs.ruddr.io/api-reference/project-members/create-a-project-member openapi.json POST /project-members A team member assigned to a project. # Delete a project member Source: https://docs.ruddr.io/api-reference/project-members/delete-a-project-member openapi.json DELETE /project-members/{id} A team member assigned to a project. # Get a project member Source: https://docs.ruddr.io/api-reference/project-members/get-a-project-member openapi.json GET /project-members/{id} A team member assigned to a project. # List project members Source: https://docs.ruddr.io/api-reference/project-members/list-project-members openapi.json GET /project-members A team member assigned to a project. # Update a project member Source: https://docs.ruddr.io/api-reference/project-members/update-a-project-member openapi.json PATCH /project-members/{id} A team member assigned to a project. # Create a project monthly budget expense Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/create-a-project-monthly-budget-expense openapi.json POST /project-monthly-budget-expenses The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed". # Delete a project monthly budget expense Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/delete-a-project-monthly-budget-expense openapi.json DELETE /project-monthly-budget-expenses/{id} The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed". # Get a project monthly budget expense Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/get-a-project-monthly-budget-expense openapi.json GET /project-monthly-budget-expenses/{id} The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed". # List project monthly budget expenses Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/list-project-monthly-budget-expenses openapi.json GET /project-monthly-budget-expenses The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed". # Update a project monthly budget expense Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/update-a-project-monthly-budget-expense openapi.json PATCH /project-monthly-budget-expenses/{id} The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed". # Create a project monthly budget other item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/create-a-project-monthly-budget-other-item openapi.json POST /project-monthly-budget-other-items The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Delete a project monthly budget other item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/delete-a-project-monthly-budget-other-item openapi.json DELETE /project-monthly-budget-other-items/{id} The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Get a project monthly budget other item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/get-a-project-monthly-budget-other-item openapi.json GET /project-monthly-budget-other-items/{id} The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # List project monthly budget other items Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/list-project-monthly-budget-other-items openapi.json GET /project-monthly-budget-other-items The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Update a project monthly budget other item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/update-a-project-monthly-budget-other-item openapi.json PATCH /project-monthly-budget-other-items/{id} The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Create a project monthly budget product item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/create-a-project-monthly-budget-product-item openapi.json POST /project-monthly-budget-product-items The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Delete a project monthly budget product item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/delete-a-project-monthly-budget-product-item openapi.json DELETE /project-monthly-budget-product-items/{id} The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Get a project monthly budget product item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/get-a-project-monthly-budget-product-item openapi.json GET /project-monthly-budget-product-items/{id} The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # List project monthly budget product items Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/list-project-monthly-budget-product-items openapi.json GET /project-monthly-budget-product-items The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Update a project monthly budget product item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/update-a-project-monthly-budget-product-item openapi.json PATCH /project-monthly-budget-product-items/{id} The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Create a project monthly budget service item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/create-a-project-monthly-budget-service-item openapi.json POST /project-monthly-budget-service-items The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Delete a project monthly budget service item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/delete-a-project-monthly-budget-service-item openapi.json DELETE /project-monthly-budget-service-items/{id} The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Get a project monthly budget service item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/get-a-project-monthly-budget-service-item openapi.json GET /project-monthly-budget-service-items/{id} The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # List project monthly budget service items Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/list-project-monthly-budget-service-items openapi.json GET /project-monthly-budget-service-items The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Update a project monthly budget service item Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/update-a-project-monthly-budget-service-item openapi.json PATCH /project-monthly-budget-service-items/{id} The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed". # Create a project other item Source: https://docs.ruddr.io/api-reference/project-other-items/create-a-project-other-item openapi.json POST /project-other-items Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects. # Delete a project other item Source: https://docs.ruddr.io/api-reference/project-other-items/delete-a-project-other-item openapi.json DELETE /project-other-items/{id} Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects. # Get a project other item Source: https://docs.ruddr.io/api-reference/project-other-items/get-a-project-other-item openapi.json GET /project-other-items/{id} Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects. # List project other items Source: https://docs.ruddr.io/api-reference/project-other-items/list-project-other-items openapi.json GET /project-other-items Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects. # Update a project other item Source: https://docs.ruddr.io/api-reference/project-other-items/update-a-project-other-item openapi.json PATCH /project-other-items/{id} Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects. # Create a project prepayment Source: https://docs.ruddr.io/api-reference/project-prepayments/create-a-project-prepayment openapi.json POST /project-prepayments A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item. # Delete a project prepayment Source: https://docs.ruddr.io/api-reference/project-prepayments/delete-a-project-prepayment openapi.json DELETE /project-prepayments/{id} A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item. # Get a project prepayment Source: https://docs.ruddr.io/api-reference/project-prepayments/get-a-project-prepayment openapi.json GET /project-prepayments/{id} A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item. # List project prepayments Source: https://docs.ruddr.io/api-reference/project-prepayments/list-project-prepayments openapi.json GET /project-prepayments A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item. # Update a project prepayment Source: https://docs.ruddr.io/api-reference/project-prepayments/update-a-project-prepayment openapi.json PATCH /project-prepayments/{id} A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item. # Create a project product item Source: https://docs.ruddr.io/api-reference/project-product-items/create-a-project-product-item openapi.json POST /project-product-items A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects. # Delete a project product item Source: https://docs.ruddr.io/api-reference/project-product-items/delete-a-project-product-item openapi.json DELETE /project-product-items/{id} A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects. # Get a project product item Source: https://docs.ruddr.io/api-reference/project-product-items/get-a-project-product-item openapi.json GET /project-product-items/{id} A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects. # List project product items Source: https://docs.ruddr.io/api-reference/project-product-items/list-project-product-items openapi.json GET /project-product-items A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects. # Update a project product item Source: https://docs.ruddr.io/api-reference/project-product-items/update-a-project-product-item openapi.json PATCH /project-product-items/{id} A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects. # Create a project revenue adjustment Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/create-a-project-revenue-adjustment openapi.json POST /project-revenue-adjustments Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects. # Delete a project revenue adjustment Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/delete-a-project-revenue-adjustment openapi.json DELETE /project-revenue-adjustments/{id} Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects. # Get a project revenue adjustment Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/get-a-project-revenue-adjustment openapi.json GET /project-revenue-adjustments/{id} Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects. # List project revenue adjustments Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/list-project-revenue-adjustments openapi.json GET /project-revenue-adjustments Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects. # Update a project revenue adjustment Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/update-a-project-revenue-adjustment openapi.json PATCH /project-revenue-adjustments/{id} Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects. # Create a project revenue recognition entry Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/create-a-project-revenue-recognition-entry openapi.json POST /project-revenue-recognition-entries Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual". # Delete a project revenue recognition entry Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/delete-a-project-revenue-recognition-entry openapi.json DELETE /project-revenue-recognition-entries/{id} Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual". # Get a project revenue recognition entry Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/get-a-project-revenue-recognition-entry openapi.json GET /project-revenue-recognition-entries/{id} Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual". # List project revenue recognition entries Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/list-project-revenue-recognition-entries openapi.json GET /project-revenue-recognition-entries Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual". # Update a project revenue recognition entry Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/update-a-project-revenue-recognition-entry openapi.json PATCH /project-revenue-recognition-entries/{id} Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual". # Create a project role Source: https://docs.ruddr.io/api-reference/project-roles/create-a-project-role openapi.json POST /project-roles A role on a project used to group rates and billability settings, then assigned to project members. # Delete a project role Source: https://docs.ruddr.io/api-reference/project-roles/delete-a-project-role openapi.json DELETE /project-roles/{id} A role on a project used to group rates and billability settings, then assigned to project members. # Get a project role Source: https://docs.ruddr.io/api-reference/project-roles/get-a-project-role openapi.json GET /project-roles/{id} A role on a project used to group rates and billability settings, then assigned to project members. # List project roles Source: https://docs.ruddr.io/api-reference/project-roles/list-project-roles openapi.json GET /project-roles A role on a project used to group rates and billability settings, then assigned to project members. # Update a project role Source: https://docs.ruddr.io/api-reference/project-roles/update-a-project-role openapi.json PATCH /project-roles/{id} A role on a project used to group rates and billability settings, then assigned to project members. # Create a project service item Source: https://docs.ruddr.io/api-reference/project-service-items/create-a-project-service-item openapi.json POST /project-service-items An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects. # Delete a project service item Source: https://docs.ruddr.io/api-reference/project-service-items/delete-a-project-service-item openapi.json DELETE /project-service-items/{id} An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects. # Get a project service item Source: https://docs.ruddr.io/api-reference/project-service-items/get-a-project-service-item openapi.json GET /project-service-items/{id} An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects. # List project service items Source: https://docs.ruddr.io/api-reference/project-service-items/list-project-service-items openapi.json GET /project-service-items An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects. # Update a project service item Source: https://docs.ruddr.io/api-reference/project-service-items/update-a-project-service-item openapi.json PATCH /project-service-items/{id} An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects. # Create a project tag Source: https://docs.ruddr.io/api-reference/project-tags/create-a-project-tag openapi.json POST /project-tags A custom attribute that can be assigned to projects and used to filter reports. # Delete a project tag Source: https://docs.ruddr.io/api-reference/project-tags/delete-a-project-tag openapi.json DELETE /project-tags/{id} A custom attribute that can be assigned to projects and used to filter reports. # Get a project tag Source: https://docs.ruddr.io/api-reference/project-tags/get-a-project-tag openapi.json GET /project-tags/{id} A custom attribute that can be assigned to projects and used to filter reports. # List project tags Source: https://docs.ruddr.io/api-reference/project-tags/list-project-tags openapi.json GET /project-tags A custom attribute that can be assigned to projects and used to filter reports. # Update a project tag Source: https://docs.ruddr.io/api-reference/project-tags/update-a-project-tag openapi.json PATCH /project-tags/{id} A custom attribute that can be assigned to projects and used to filter reports. # Create a project task Source: https://docs.ruddr.io/api-reference/project-tasks/create-a-project-task openapi.json POST /project-tasks A work item or activity that helps complete a project. # Delete a project task Source: https://docs.ruddr.io/api-reference/project-tasks/delete-a-project-task openapi.json DELETE /project-tasks/{id} A work item or activity that helps complete a project. # Get a project task Source: https://docs.ruddr.io/api-reference/project-tasks/get-a-project-task openapi.json GET /project-tasks/{id} A work item or activity that helps complete a project. # List project tasks Source: https://docs.ruddr.io/api-reference/project-tasks/list-project-tasks openapi.json GET /project-tasks A work item or activity that helps complete a project. # Update a project task Source: https://docs.ruddr.io/api-reference/project-tasks/update-a-project-task openapi.json PATCH /project-tasks/{id} A work item or activity that helps complete a project. # Create a project type Source: https://docs.ruddr.io/api-reference/project-types/create-a-project-type openapi.json POST /project-types A classification that can be assigned to projects and used to filter reports. # Delete a project type Source: https://docs.ruddr.io/api-reference/project-types/delete-a-project-type openapi.json DELETE /project-types/{id} A classification that can be assigned to projects and used to filter reports. # Get a project type Source: https://docs.ruddr.io/api-reference/project-types/get-a-project-type openapi.json GET /project-types/{id} A classification that can be assigned to projects and used to filter reports. # List project types Source: https://docs.ruddr.io/api-reference/project-types/list-project-types openapi.json GET /project-types A classification that can be assigned to projects and used to filter reports. # Update a project type Source: https://docs.ruddr.io/api-reference/project-types/update-a-project-type openapi.json PATCH /project-types/{id} A classification that can be assigned to projects and used to filter reports. # Create a project Source: https://docs.ruddr.io/api-reference/projects/create-a-project openapi.json POST /projects A scope of work for a client. Contains the top-level information for a project in your workspace. # Delete a project Source: https://docs.ruddr.io/api-reference/projects/delete-a-project openapi.json DELETE /projects/{id} A scope of work for a client. Contains the top-level information for a project in your workspace. # Get a project Source: https://docs.ruddr.io/api-reference/projects/get-a-project openapi.json GET /projects/{id} A scope of work for a client. Contains the top-level information for a project in your workspace. # List projects Source: https://docs.ruddr.io/api-reference/projects/list-projects openapi.json GET /projects A scope of work for a client. Contains the top-level information for a project in your workspace. # Update a project Source: https://docs.ruddr.io/api-reference/projects/update-a-project openapi.json PATCH /projects/{id} A scope of work for a client. Contains the top-level information for a project in your workspace. # Create a resource placeholder Source: https://docs.ruddr.io/api-reference/resource-placeholders/create-a-resource-placeholder openapi.json POST /resource-placeholders A generic role-based slot used to plan staffing needs before assigning specific members. # Delete a resource placeholder Source: https://docs.ruddr.io/api-reference/resource-placeholders/delete-a-resource-placeholder openapi.json DELETE /resource-placeholders/{id} A generic role-based slot used to plan staffing needs before assigning specific members. # Get a resource placeholder Source: https://docs.ruddr.io/api-reference/resource-placeholders/get-a-resource-placeholder openapi.json GET /resource-placeholders/{id} A generic role-based slot used to plan staffing needs before assigning specific members. # List resource placeholders Source: https://docs.ruddr.io/api-reference/resource-placeholders/list-resource-placeholders openapi.json GET /resource-placeholders A generic role-based slot used to plan staffing needs before assigning specific members. # Update a resource placeholder Source: https://docs.ruddr.io/api-reference/resource-placeholders/update-a-resource-placeholder openapi.json PATCH /resource-placeholders/{id} A generic role-based slot used to plan staffing needs before assigning specific members. # Get a security role Source: https://docs.ruddr.io/api-reference/security-roles/get-a-security-role openapi.json GET /security-roles/{id} A set of permissions that controls what members assigned to it can access in the workspace. # List security roles Source: https://docs.ruddr.io/api-reference/security-roles/list-security-roles openapi.json GET /security-roles A set of permissions that controls what members assigned to it can access in the workspace. # Create a skill Source: https://docs.ruddr.io/api-reference/skills/create-a-skill openapi.json POST /skills A competency that can be assigned to members and placeholders and used to filter reports. # Delete a skill Source: https://docs.ruddr.io/api-reference/skills/delete-a-skill openapi.json DELETE /skills/{id} A competency that can be assigned to members and placeholders and used to filter reports. # Get a skill Source: https://docs.ruddr.io/api-reference/skills/get-a-skill openapi.json GET /skills/{id} A competency that can be assigned to members and placeholders and used to filter reports. # List skills Source: https://docs.ruddr.io/api-reference/skills/list-skills openapi.json GET /skills A competency that can be assigned to members and placeholders and used to filter reports. # Update a skill Source: https://docs.ruddr.io/api-reference/skills/update-a-skill openapi.json PATCH /skills/{id} A competency that can be assigned to members and placeholders and used to filter reports. # Create a task category Source: https://docs.ruddr.io/api-reference/task-categories/create-a-task-category openapi.json POST /task-categories A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks. # Delete a task category Source: https://docs.ruddr.io/api-reference/task-categories/delete-a-task-category openapi.json DELETE /task-categories/{id} A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks. # Get a task category Source: https://docs.ruddr.io/api-reference/task-categories/get-a-task-category openapi.json GET /task-categories/{id} A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks. # List task categorys Source: https://docs.ruddr.io/api-reference/task-categories/list-task-categories openapi.json GET /task-categories A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks. # Update a task category Source: https://docs.ruddr.io/api-reference/task-categories/update-a-task-category openapi.json PATCH /task-categories/{id} A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks. # Create a task tag Source: https://docs.ruddr.io/api-reference/task-tags/create-a-task-tag openapi.json POST /task-tags A custom attribute that can be assigned to tasks and used to filter reports. # Delete a task tag Source: https://docs.ruddr.io/api-reference/task-tags/delete-a-task-tag openapi.json DELETE /task-tags/{id} A custom attribute that can be assigned to tasks and used to filter reports. # Get a task tag Source: https://docs.ruddr.io/api-reference/task-tags/get-a-task-tag openapi.json GET /task-tags/{id} A custom attribute that can be assigned to tasks and used to filter reports. # List task tags Source: https://docs.ruddr.io/api-reference/task-tags/list-task-tags openapi.json GET /task-tags A custom attribute that can be assigned to tasks and used to filter reports. # Update a task tag Source: https://docs.ruddr.io/api-reference/task-tags/update-a-task-tag openapi.json PATCH /task-tags/{id} A custom attribute that can be assigned to tasks and used to filter reports. # Create a task template Source: https://docs.ruddr.io/api-reference/task-templates/create-a-task-template openapi.json POST /task-templates A reusable task definition that can be quickly added to projects. # Delete a task template Source: https://docs.ruddr.io/api-reference/task-templates/delete-a-task-template openapi.json DELETE /task-templates/{id} A reusable task definition that can be quickly added to projects. # Get a task template Source: https://docs.ruddr.io/api-reference/task-templates/get-a-task-template openapi.json GET /task-templates/{id} A reusable task definition that can be quickly added to projects. # List task templates Source: https://docs.ruddr.io/api-reference/task-templates/list-task-templates openapi.json GET /task-templates A reusable task definition that can be quickly added to projects. # Update a task template Source: https://docs.ruddr.io/api-reference/task-templates/update-a-task-template openapi.json PATCH /task-templates/{id} A reusable task definition that can be quickly added to projects. # Create a tax rate Source: https://docs.ruddr.io/api-reference/tax-rates/create-a-tax-rate openapi.json POST /tax-rates A named tax rate percentage that can be applied to line items on invoices. # Delete a tax rate Source: https://docs.ruddr.io/api-reference/tax-rates/delete-a-tax-rate openapi.json DELETE /tax-rates/{id} A named tax rate percentage that can be applied to line items on invoices. # Get a tax rate Source: https://docs.ruddr.io/api-reference/tax-rates/get-a-tax-rate openapi.json GET /tax-rates/{id} A named tax rate percentage that can be applied to line items on invoices. # List tax rates Source: https://docs.ruddr.io/api-reference/tax-rates/list-tax-rates openapi.json GET /tax-rates A named tax rate percentage that can be applied to line items on invoices. # Update a tax rate Source: https://docs.ruddr.io/api-reference/tax-rates/update-a-tax-rate openapi.json PATCH /tax-rates/{id} A named tax rate percentage that can be applied to line items on invoices. # Create a time entry Source: https://docs.ruddr.io/api-reference/time-entries/create-a-time-entry openapi.json POST /time-entries A record of time logged by a member against a project or time off type. # Delete a time entry Source: https://docs.ruddr.io/api-reference/time-entries/delete-a-time-entry openapi.json DELETE /time-entries/{id} A record of time logged by a member against a project or time off type. # Get a time entry Source: https://docs.ruddr.io/api-reference/time-entries/get-a-time-entry openapi.json GET /time-entries/{id} A record of time logged by a member against a project or time off type. # List time entries Source: https://docs.ruddr.io/api-reference/time-entries/list-time-entries openapi.json GET /time-entries A record of time logged by a member against a project or time off type. # Update a time entry Source: https://docs.ruddr.io/api-reference/time-entries/update-a-time-entry openapi.json PATCH /time-entries/{id} A record of time logged by a member against a project or time off type. # Create a time off type Source: https://docs.ruddr.io/api-reference/time-off-types/create-a-time-off-type openapi.json POST /time-off-types A category of time off that members can log, such as vacation or sick leave. # Delete a time off type Source: https://docs.ruddr.io/api-reference/time-off-types/delete-a-time-off-type openapi.json DELETE /time-off-types/{id} A category of time off that members can log, such as vacation or sick leave. # Get a time off type Source: https://docs.ruddr.io/api-reference/time-off-types/get-a-time-off-type openapi.json GET /time-off-types/{id} A category of time off that members can log, such as vacation or sick leave. # List time off types Source: https://docs.ruddr.io/api-reference/time-off-types/list-time-off-types openapi.json GET /time-off-types A category of time off that members can log, such as vacation or sick leave. # Update a time off type Source: https://docs.ruddr.io/api-reference/time-off-types/update-a-time-off-type openapi.json PATCH /time-off-types/{id} A category of time off that members can log, such as vacation or sick leave. # Create a timesheet attestation Source: https://docs.ruddr.io/api-reference/timesheet-attestations/create-a-timesheet-attestation openapi.json POST /timesheet-attestations A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours. # Delete a timesheet attestation Source: https://docs.ruddr.io/api-reference/timesheet-attestations/delete-a-timesheet-attestation openapi.json DELETE /timesheet-attestations/{id} A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours. # Get a timesheet attestation Source: https://docs.ruddr.io/api-reference/timesheet-attestations/get-a-timesheet-attestation openapi.json GET /timesheet-attestations/{id} A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours. # List timesheet attestations Source: https://docs.ruddr.io/api-reference/timesheet-attestations/list-timesheet-attestations openapi.json GET /timesheet-attestations A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours. # Update a timesheet attestation Source: https://docs.ruddr.io/api-reference/timesheet-attestations/update-a-timesheet-attestation openapi.json PATCH /timesheet-attestations/{id} A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours. # Create a timesheet Source: https://docs.ruddr.io/api-reference/timesheets/create-a-timesheet openapi.json POST /timesheets Creates a timesheet for a member. All time entries within the specified date range are associated with the timesheet and submitted for approval. The `start` and `end` must fall within the same ISO week (Monday through Sunday). In the simplest case, `start` is Monday and `end` is Sunday of the same week. ### Split weeks When a workspace has split-week timesheets enabled (at month boundaries or semi-month boundaries), the timesheet period may be shorter than a full week. In these cases, `start` and `end` must match one of the valid split boundaries: - **Month-end split**: If the workspace splits timesheets at the end of the month and a week crosses a month boundary, valid periods are Monday through the last day of the month, or the first day of the new month through Sunday. - **Semi-month split**: If the workspace splits timesheets at the 15th of the month and a week crosses the 15th, valid periods are Monday through the 15th, or the 16th through Sunday. If the provided dates do not match a valid period, the API returns a `400` error listing the accepted start and end dates. ### Timesheet attestation A timesheet attestation requires a signature at the time of submission, and the API does not accept one. A timesheet for a member who is assigned a timesheet attestation must be submitted in the Ruddr app, and a request to submit one through the API returns a `400` error. A submitted period of time entries for a member, typically representing a week or split-week. # Delete a timesheet Source: https://docs.ruddr.io/api-reference/timesheets/delete-a-timesheet openapi.json DELETE /timesheets/{id} Deletes a timesheet. Time entries that were pending approval are reverted to their pre-submission state. A submitted period of time entries for a member, typically representing a week or split-week. # Get a timesheet Source: https://docs.ruddr.io/api-reference/timesheets/get-a-timesheet openapi.json GET /timesheets/{id} Returns a single timesheet by its unique identifier. A submitted period of time entries for a member, typically representing a week or split-week. # List timesheets Source: https://docs.ruddr.io/api-reference/timesheets/list-timesheets openapi.json GET /timesheets Returns a list of timesheets. A submitted period of time entries for a member, typically representing a week or split-week. # Create a utilization target period Source: https://docs.ruddr.io/api-reference/utilization-target-periods/create-a-utilization-target-period openapi.json POST /utilization-target-periods A period defining a member's billable utilization targets. # Delete a utilization target period Source: https://docs.ruddr.io/api-reference/utilization-target-periods/delete-a-utilization-target-period openapi.json DELETE /utilization-target-periods/{id} A period defining a member's billable utilization targets. # Get a utilization target period Source: https://docs.ruddr.io/api-reference/utilization-target-periods/get-a-utilization-target-period openapi.json GET /utilization-target-periods/{id} A period defining a member's billable utilization targets. # List utilization target periods Source: https://docs.ruddr.io/api-reference/utilization-target-periods/list-utilization-target-periods openapi.json GET /utilization-target-periods A period defining a member's billable utilization targets. # Update a utilization target period Source: https://docs.ruddr.io/api-reference/utilization-target-periods/update-a-utilization-target-period openapi.json PATCH /utilization-target-periods/{id} A period defining a member's billable utilization targets. # Create a workspace role Source: https://docs.ruddr.io/api-reference/workspace-roles/create-a-workspace-role openapi.json POST /workspace-roles A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards. # Delete a workspace role Source: https://docs.ruddr.io/api-reference/workspace-roles/delete-a-workspace-role openapi.json DELETE /workspace-roles/{id} A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards. # Get a workspace role Source: https://docs.ruddr.io/api-reference/workspace-roles/get-a-workspace-role openapi.json GET /workspace-roles/{id} A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards. # List workspace roles Source: https://docs.ruddr.io/api-reference/workspace-roles/list-workspace-roles openapi.json GET /workspace-roles A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards. # Update a workspace role Source: https://docs.ruddr.io/api-reference/workspace-roles/update-a-workspace-role openapi.json PATCH /workspace-roles/{id} A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards. # API Reference Source: https://docs.ruddr.io/guides/api-reference Browse all available API endpoints organized by category The Ruddr API provides endpoints for managing projects, time tracking, billing, team members, and more. Browse the categories below to find the endpoints you need, or visit the [API Reference](/api-reference/clients/list-clients) tab for full endpoint details. ## Projects Manage clients, projects, team assignments, tasks, budgets, and billing schedules. A person or organization using your services. All projects are tied to a client. A role defining billing terms for work performed for a specific client. A scope of work for a client. Contains the top-level information for a project. A team member assigned to a project. A role on a project used to group rates and billability settings. A work item or activity that helps complete a project. Scheduled project expenses outside a member's expense reports. Scheduled miscellaneous items to bill to a project. A product to bill to a project, such as software, licenses, or hardware. An additional service charge billed to a project, such as managed services or retainers. Scheduled invoicing for a fixed fee project. Manual positive or negative adjustments to a project's earned revenue. Scheduled recognition of payments for fixed-fee projects. A scorecard for a project's health across budget, schedule, and satisfaction. A collection of related projects under a client. The budget for an expense category on a project. The budget for a miscellaneous invoice item on a project. The budget for a product invoice item on a project. The budget for an additional service invoice item on a project. The monthly budget for an expense category on a project. The monthly budget for a miscellaneous invoice item on a project. The monthly budget for a product invoice item on a project. The monthly budget for an additional service invoice item on a project. ## Time Track time logged by members against projects and time off types. A record of time logged by a member against a project or time off type. A submitted period of time entries for a member, typically representing a week or split-week. ## Pipeline Manage your sales pipeline, including companies and opportunities. An organization with which you have a history of communication or business. A person associated with a client, company, or opportunity in your workspace. A potential business deal within a company with associated revenue and sales details. ## Expenses Track and manage expense reports and individual expense items for reimbursement or project billing. A container for expense items, grouping expenses for a specific purpose. A purchased product or service recorded for reimbursement or project billing. ## Resourcing Plan and manage resource allocations for members and placeholders across projects. A resource allocation for a member or placeholder. ## Billing Manage invoices, credit notes, and payments for client billing. A document sent to request payment for goods or services. A document issued to reduce the amount owed by a client on a previous invoice. A client's payment towards one or more invoices. ## Workspace Workspace-level settings, security, and configuration, including multi-currency exchange rates. The exchange rates for the workspace's currencies. Permission sets assigned to members to control workspace access. ## Members Manage workspace members and their availability, cost rates, and utilization targets. A person that belongs to your workspace. A period defining a member's expected working hours. A period defining the per-hour labor and overhead costs for a member. A period defining a member's billable utilization targets. ## Custom Data Manage the lookup values, tags, and configuration used across your workspace. A named organizational unit used to configure invoice settings and group clients and projects. Tags for categorizing clients. Spend tiers for classifying companies by revenue potential. Types for categorizing companies. Tags for categorizing contacts. Functional areas of expertise for organizing members. Time-bound exchange rates between currencies. Categories for classifying expense items. Schedules that group holidays for assignment to members. Individual holidays within a holiday schedule. Industries for classifying clients and companies. Predefined line items available for use on invoices. Job titles for classifying members. Physical locations for organizing members. Certifications that can be assigned to members. Levels for classifying members by seniority. Tags for categorizing members. Sources that describe how an opportunity was generated. A pipeline used to categorize and track opportunities through different stages. Stages in the opportunity pipeline workflow. Tags for categorizing opportunities. Types for classifying opportunities. Methods by which clients can make payments. An activity logged against a pipeline company or opportunity, such as a call, email, or meeting. Types of activities logged against pipeline opportunities. Business units or practice areas within the workspace. Tags for categorizing projects. Types for classifying projects. Placeholder resources used for allocation planning before assigning real members. Skills that can be assigned to members and resource placeholders. Classifications applied to project tasks that determine their behavior, such as standard or rollup. Tags for categorizing project tasks. Reusable templates for creating project tasks. Tax rates applied to invoices. Types of time off available for members to log. Statements members sign when submitting timesheets for compliance. Roles defined at the workspace level for standardizing billing rates. # Authentication Source: https://docs.ruddr.io/guides/authentication Authenticate requests to the Ruddr API The Ruddr API uses API keys to authenticate requests. Each key grants full read and write access to all data within a workspace, so treat them like passwords. To create an API key, follow the steps in the [Quick Start](/guides/quick-start) guide. ## Using the API Key Include the API key in the `Authorization` header using the Bearer scheme: ``` Authorization: Bearer ``` ## Key Management * **No expiration**: API keys are valid indefinitely until explicitly revoked. * **Revocation**: Delete a key from **Settings > API Keys** in your workspace. Revocation takes effect immediately — any request using that key will return `401`. * **No scopes**: All keys have the same access level. There are no read-only or restricted keys. ## Security Best Practices * **Store keys securely**: Use environment variables or a secrets manager. Never hard-code keys in source code. * **Server-side only**: API keys should only be used in server-side code. Never expose them in client-side JavaScript, mobile apps, or public repositories. * **Rotate periodically**: Create a new key, update your integration, then delete the old one. ## Errors ### 401 Unauthorized The API key is missing, malformed, or does not match a valid key: ```json theme={null} { "status": 401, "message": "The provided bearer token is missing or invalid." } ``` ### 423 Locked API access has been disabled for the workspace: ```json theme={null} { "status": 423, "message": "API access is disabled, please contact support for assistance." } ``` # Changelog Source: https://docs.ruddr.io/guides/changelog API version history and changes Notable changes and additions to the Ruddr API. ## 2026 Added the `productItemsRevenue`, `otherItemsRevenue`, `budgetProductItemsRevenue`, and `budgetOtherItemsRevenue` fields to project health reports for read operations. Total revenue already included these two buckets; the breakdown now reconciles. Reports created before this change return `null` for the new fields. The `isActive` field on project members now returns `false` when the member is deactivated at the workspace level, matching the web app. Previously it reflected only project-level participation. Writing `isActive` on create and update still controls project-level participation only. Added a `modifiedAt` field to allocations, clients, credit notes, expense items, invoices, members, projects, security roles, project tasks, and time entries. Added `modifiedAtAfter`, `modifiedAtOnAfter`, `modifiedAtBefore`, and `modifiedAtOnBefore` query parameters to those list endpoints for filtering by modification time. Added the `attested`, `attestationText`, `attestationSignature`, and `submittedByMember` fields to timesheets for read operations. These capture whether the timesheet was attested, the statement a member attested to at submission, the signature they provided, and the member who submitted the timesheet. Added the `isReimbursed` field to expense items for read and write operations. Added `isReimbursed` to expense item create and update request bodies, and as a query parameter on the list endpoint to filter by reimbursed status. Added `accountingNotes` and `revenueAttributionMethod` fields to projects for both read and write operations. `revenueAttributionMethod` is only returned for fixed and fixed-recurring projects. Added project prepayment endpoints for listing, creating, getting, updating, and deleting prepayments invoiced up front to offset future fees on a project. Added `predecessorIds` and `successorIds` to project task create and update, and `predecessors` and `successors` relations to project task read operations. Added the `milestone` task category type. Added the `useDependencies` and `autoCompleteMilestones` settings to project create, update, and read operations. Added timesheet attestation endpoints for listing, creating, getting, updating, and deleting. Added the `bookingTypeId` field (`confirmed` or `soft`, defaulting to `confirmed`) to allocations for both read and write operations. Added `businessUnit` field to members. Added `businessUnitId` to member create and update request bodies, and as a query parameter on the list endpoint. Added project revenue adjustment endpoints for listing, creating, getting, updating, and deleting. Added security role endpoints for listing and getting security roles. Added the `typeId` query parameter to the project members list endpoint to filter by collaborator or administrator. Added create, update, and delete endpoints for pipeline activities. Added `industry` and `location` fields to clients for both read and write operations. Added project product item, project service item, project budget product/service item, and project monthly budget product/service item endpoints for listing, creating, getting, updating, and deleting. Added `productRevenue` to the project `budget` and `monthlyBudget` objects, added `budgetProductItemsAmount`, `budgetServiceItemsAmount`, `monthlyBudgetProductItemsAmount`, and `monthlyBudgetServiceItemsAmount` fields to project create and update, and added `products` to the business unit `invoiceTaxableItems` options. Added `integrations` field to clients and projects, containing `type`, `connectionId`, and `externalId`. Added task category endpoints for listing, creating, getting, updating, and deleting task categories. Added `taskCategory` relation and `taskCategoryId` to project task and task template create and update endpoints. Added pipeline activities endpoints for listing and getting pipeline activities. Added create, update, and delete endpoints for expense items and expense reports. Added `automaticTimesheetSubmissionConfirmation` field to members for both read and write operations. Added business unit endpoints for listing, creating, getting, updating, and deleting business units. Added opportunity pipeline endpoints. Added timesheet endpoints for creating, listing, and deleting timesheets. Added fields to member cost periods: * `costMethodId` * `costPerMonth` * `overheadCostPerMonth` * `totalCostPerMonth` Added `timesheet` field to time entries. Added `timesheetId` and `typeId` query parameters to the list endpoint. Added client role endpoints. Added `practice` and `location` fields to project roles. Added contact tag endpoints. ## 2025 Deprecated `useWorkspaceInvoiceDetails` on clients. Use `invoiceDetailsSource` instead. Added `clientApprovalStatus` field to time entries. Added member certification endpoints. Added date filters to invoices: * `issuedOnAfter` * `issuedOnBefore` Added fields to projects: * `completedOn` * `cloudFolderUrl` Added member level endpoints. Added budget fields to projects. Added project group endpoints and `projectGroup` field on projects. Added fields to time entries: * `startTime` * `endTime` Added member period endpoints: * Cost periods * Availability periods * Utilization target periods Deprecated `costMethodId` on members. Use `costPeriods` instead. Deprecated `forbidTimesheetSubmissionWhenBelowCapacity` on members. Use `timesheetCapacityPolicy` instead. Added opportunity tag endpoints. ## 2024 Added pipeline endpoints: * Companies * Contacts * Opportunities Added project health report endpoints. Added exchange rate endpoints. Added custom data endpoints: * Client tags * Company spend tiers * Company types * Disciplines * Expense categories * Holiday schedules * Holidays * Industries * Invoice items * Job titles * Locations * Member tags * Opportunity lead sources * Opportunity stages * Opportunity types * Payment methods * Pipeline activity types * Practices * Project tags * Project types * Resource placeholders * Skills * Task tags * Task templates * Tax rates * Time off types * Workspace roles Added billing endpoints: * Invoices * Credit notes * Payments Added `isAttributableToProductiveUtilization` field to projects. Added `tags` field to project tasks. Added `code` field to project tasks. ## 2023 Added `capAssignedHours` field to project tasks. Added `defaultBillRate` field to members. Added create, update, and delete endpoints for: * Project members * Project roles * Project expenses * Project other items * Project invoice milestones * Project revenue recognition entries * Project budget expenses * Project budget other items * Project monthly budget expenses * Project monthly budget other items Added `invoiced` flag to time entries and expense items. Added currency support to: * Clients * Projects * Invoices * Payments Added create, update, and delete project endpoints. Deprecated `fixedFee` field. Added fields to allocations: * `unit` * `hoursPerWeek` ## 2022 Added create, update, and delete client endpoints. Added create, update, and delete project task endpoints. Added read-only endpoints for: * Projects * Members * Clients * Time entries * Allocations * Project members * Project roles * Project tasks * Project expenses * Project other items * Project budget expenses * Project budget other items * Project monthly budget expenses * Project monthly budget other items * Project revenue recognition entries * Project invoice milestones # Conventions Source: https://docs.ruddr.io/guides/conventions Base URL, data formats, and general conventions General conventions that apply across all Ruddr API endpoints. ## Base URL All API requests use the following base URL over HTTPS: ``` https://www.ruddr.io/api/workspace ``` ## Data Formats * **JSON**: All request and response bodies are JSON-encoded. Set the `Content-Type` header to `application/json` for requests with a body. * **camelCase**: Object attribute names use `camelCase` (not `snake_case` or `kebab-case`). * **UUIDs**: All resource identifiers are UUID v4 strings. * **Slugs**: Slugs use lowercase alphanumeric characters with hyphens. * **Dates**: Date values use ISO 8601 format — `2021-07-24` for dates and `2021-07-24T17:40:03.633Z` for timestamps. * **Null handling**: Empty strings are automatically converted to `null` on write. Setting a property to `null` unsets it. # Errors Source: https://docs.ruddr.io/guides/errors HTTP status codes and error response format The Ruddr API uses standard HTTP status codes to indicate the success or failure of a request. ## Status Codes ### Success | Code | Description | | ---------------- | ---------------------------------------------------------------------------------------------- | | `200 OK` | Everything worked as expected. | | `204 No Content` | Everything worked as expected, but there is no content to return. Typical for delete requests. | ### Client Errors | Code | Description | | ------------------------ | ---------------------------------------------------------------------------------------------- | | `400 Bad Request` | The request was unacceptable due to an issue with the request format or data. | | `401 Unauthorized` | The API key is missing or invalid. | | `403 Forbidden` | The requested feature is not enabled for this workspace. | | `404 Not Found` | The resource or endpoint does not exist. | | `405 Method Not Allowed` | The endpoint URL exists, but does not support the requested operation. | | `409 Conflict` | A resource with the same identifying information already exists, or the resource is read-only. | | `423 Locked` | API access is disabled for this workspace. Contact support for assistance. | | `429 Too Many Requests` | Rate limit exceeded. See [Rate Limits](/guides/rate-limits) for retry guidance. | ### Server Errors | Code | Description | | --------------------------- | ------------------------------------ | | `500 Internal Server Error` | Something went wrong on Ruddr's end. | ## Error Response Format Error responses return a JSON object with a `status` code and descriptive `message`: ```json theme={null} { "status": 400, "message": "Parameter 'id' is not a valid UUID." } ``` Some validation errors may include an `errors` array with details: ```json theme={null} { "status": 400, "message": "There was a problem processing your request. See errors for more details.", "errors": ["'name' is required"] } ``` # OpenAPI Specification Source: https://docs.ruddr.io/guides/openapi Download and use the Ruddr API OpenAPI 3.1 spec The Ruddr API publishes a complete [OpenAPI 3.1](https://spec.openapis.org/oas/v3.1.0) specification. You can use it for client generation, API exploration, testing, and validation. ## Variants Two variants of the spec are available: **openapi.json** — Uses internal `$ref` references to shared schemas in `#/components/`. Best for tools that resolve `$ref` natively, such as Swagger UI, Redocly, and most code generators. **openapi-deref.json** — Fully inlined with no `$ref` pointers. Every schema is expanded at point of use. Best for tools that don't handle `$ref` well, or for direct inspection and scripting. ## Use Cases * **Client generation** — Feed the spec to [OpenAPI Generator](https://openapi-generator.tech/) or similar tools to generate typed API clients in your language of choice. * **API exploration** — Import into Postman, Insomnia, or any OpenAPI-compatible tool to browse endpoints and try requests. * **Testing and validation** — Validate request/response payloads against the spec in your test suite. * **Documentation** — The API Reference in these docs is generated directly from the bundled spec. ## Shared Schemas The bundled spec defines reusable components under `#/components/`: * **Resource schemas** (`components/schemas`) — Named response shapes for each resource (e.g., `Client`, `Project`, `Member`). All endpoints returning a resource reference the same schema. * **Error schemas** (`components/schemas`) — `ErrorResponse` and `ValidationErrorResponse` for consistent error handling. * **Pagination parameters** (`components/parameters`) — `StartingAfter`, `EndingBefore`, and `Limit` used by all list endpoints. In the dereferenced variant, these are inlined everywhere they're used. # List Endpoints Source: https://docs.ruddr.io/guides/pagination Pagination, sorting, and filtering for list endpoints All list endpoints in the Ruddr API use cursor-based pagination and return results in a common response format. ## Response Format List endpoints return a wrapper object: ```json theme={null} { "results": [ { "id": "...", "createdAt": "2024-01-15T10:30:00.000Z", ... }, { "id": "...", "createdAt": "2024-01-14T09:00:00.000Z", ... } ], "hasMore": true } ``` | Field | Type | Description | | --------- | ------- | --------------------------------------------------------- | | `results` | array | Array of resource objects | | `hasMore` | boolean | Whether additional pages exist in the traversal direction | ## Pagination ### Query Parameters | Parameter | Type | Default | Description | | --------------- | ------- | ------- | ----------------------------------------------------------------- | | `startingAfter` | UUID | — | Cursor ID from the previous response to request the next page | | `endingBefore` | UUID | — | Cursor ID from the previous response to request the previous page | | `limit` | integer | `10` | Maximum number of results to return (`1`–`100`) | `startingAfter` and `endingBefore` are mutually exclusive — only one can be used per request. Omitting both returns results from the beginning. ### Iterating Through Pages To fetch all results, use the `id` of the last item in each response as the `startingAfter` cursor for the next request. Continue until `hasMore` is `false`. **First page:** ```bash theme={null} curl "https://www.ruddr.io/api/workspace/clients?limit=10" \ -H "Authorization: Bearer YOUR_API_KEY" ``` **Next page** (using the last `id` from the previous response): ```bash theme={null} curl "https://www.ruddr.io/api/workspace/clients?limit=10&startingAfter=LAST_ID" \ -H "Authorization: Bearer YOUR_API_KEY" ``` **Previous page** (using the first `id` from the current response): ```bash theme={null} curl "https://www.ruddr.io/api/workspace/clients?limit=10&endingBefore=FIRST_ID" \ -H "Authorization: Bearer YOUR_API_KEY" ``` ## Sorting All list endpoints return results sorted by `createdAt` in descending order (newest first). The sort order is not configurable — there are no `sort` or `orderBy` parameters. ## Filtering Most list endpoints accept query parameters to narrow results. Available filters vary by endpoint and are documented in the [API Reference](/api-reference/clients/list-clients). ### Filter Types | Type | Convention | Example | | --------------- | --------------------------------------------------------------------- | ----------------------------------------------- | | UUID | Field name (e.g., `clientId`) | `?clientId=` | | Exact string | Field name (e.g., `code`) | `?code=PRJ-001` | | String matching | `field`, `fieldContains`, `fieldStartsWith`, `fieldEndsWith` | `?nameContains=Acme` | | Date range | `field`, `fieldAfter`, `fieldOnAfter`, `fieldBefore`, `fieldOnBefore` | `?dateOnAfter=2025-01-01&dateBefore=2025-02-01` | | Enum | Field name (e.g., `statusId`) | `?statusId=active` | String matching filters are case-insensitive. Date filters use `YYYY-MM-DD` format. ### Example Fetch the first page of active projects for a specific client: ```bash theme={null} curl "https://www.ruddr.io/api/workspace/projects?clientId=CLIENT_ID&statusId=active&limit=25" \ -H "Authorization: Bearer YOUR_API_KEY" ``` Combine filtering with pagination to iterate through the results: ```bash theme={null} curl "https://www.ruddr.io/api/workspace/projects?clientId=CLIENT_ID&statusId=active&limit=25&startingAfter=LAST_ID" \ -H "Authorization: Bearer YOUR_API_KEY" ``` # Quick Start Source: https://docs.ruddr.io/guides/quick-start Make your first API request in minutes The Ruddr API is a RESTful API that lets you programmatically access and manage your Ruddr workspace data, including clients, projects, members, time entries, expenses, invoices, and more. ## Get Your API Key 1. Navigate to **Settings > API Keys** in your Ruddr workspace 2. Click **Create API Key** 3. Optionally name the key to identify its purpose or owner 4. Click **Submit** to generate the key The full token is only displayed once. Copy and store it in a secure location like a password manager. After creation, only the last 4 characters are visible. ## Make Your First Request Test your connection by fetching your workspace details: ```bash theme={null} curl https://www.ruddr.io/api/workspace \ -H "Authorization: Bearer YOUR_API_KEY" ``` A successful response returns your workspace details: ```json theme={null} { "id": "af7d3ba3-785d-4bae-9d1f-6897e15db5f6", "name": "My Workspace" } ``` ## Next Steps ### Getting Started * Review [Conventions](/guides/conventions) for base URL, data formats, and general rules * Learn about [Authentication](/guides/authentication) and how to manage API keys * Understand [Rate Limits](/guides/rate-limits) and how to handle throttled requests * Explore [List Endpoints](/guides/pagination) for pagination, sorting, and filtering * Read about [Errors](/guides/errors) for HTTP status codes and error response format ### Resources * Explore the [API Reference](/guides/api-reference) to browse all available endpoints * Download the [OpenAPI Spec](/guides/openapi) for client generation and API exploration * Check the [Changelog](/guides/changelog) for the latest API updates # Rate Limits Source: https://docs.ruddr.io/guides/rate-limits Understand API rate limits and how to handle them The Ruddr API enforces rate limits to ensure fair usage and platform stability. ## Limits API requests are rate limited to **20 requests per second**. This limit is shared across all API keys in a workspace. ## 429 Too Many Requests When the rate limit is exceeded, the API returns a `429` response: ```json theme={null} { "status": 429, "message": "Too many requests" } ``` ## Retry Guidance When you receive a `429` response, retry the request after a short delay. Use exponential backoff to avoid overwhelming the API: ``` attempt 1 → wait 1s attempt 2 → wait 2s attempt 3 → wait 4s attempt 4 → wait 8s ``` Here's a pseudocode example: ``` maxRetries = 5 baseDelay = 1 second for attempt = 1 to maxRetries: response = makeRequest() if response.status != 429: return response delay = baseDelay * (2 ^ (attempt - 1)) sleep(delay) raise "Max retries exceeded" ``` If you're regularly hitting rate limits, consider reducing the concurrency of your requests or adding a small delay between calls.