# Partially updates a revenue recognition schedule with the specified ID.

This method will patch an existing revenue recognition schedule with the specified ID, using the HTTP PATCH specification.

Endpoint: PATCH /revenueRecognitionSchedules/{tenantId}/{id}
Version: v1-2025-04-18
Security: knox-authorizer

## Security:

  - `knox-authorizer` (unknown)
    http bearer JWT

## Path parameters:

  - `tenantId` (string, required)
    The id of the tenant being accessed.

  - `id` (string, required)
    The ID of the revenue recognition schedule to patch.

## Request body:

  - `application/json` (unknown)
    The patch directives conforming to RFC 6902.

## Request fields (application/json):

  - `op` (string, required)
    The operation
    Enum: "add", "copy", "move", "remove", "replace", "test"

  - `path` (string, required)
    The JSON path

  - `value` (string)

## Response 200:

  - `200` (unknown)
    The revenue recognition schedule was patched successfully.

## Response 200 fields (application/json):

  - `batch_id` (string, required)
    The batch that posted the schedule

  - `business_unit_id` (string, required)
    The business unit this schedule belongs to

  - `contact_id` (string)
    Contact that owns this

  - `credit_memo_id` (string, required)

  - `currency_code` (string, required)
    The currency code for the revenue recognition schedule

  - `custom_field_values` (array)

  - `custom_field_values.boolean_value` (boolean)
    The boolean value

  - `custom_field_values.custom_field_id` (string)
    The unique identifier of the custom field

  - `custom_field_values.file_url_value` (string)
    The pointer to a file value

  - `custom_field_values.list_value` (array)
    The list value

  - `custom_field_values.numeric_value` (number)
    The numeric value

  - `custom_field_values.string_value` (string)
    The string value of the custom field

  - `custom_field_values.table_value` (array)
    A list of objects (a table)

  - `customer_type` (string)
    The type of customer that "owns" this schedule

  - `date` (string)

  - `debit_memo_id` (string, required)

  - `deferred_revenue_gl_account_id` (string, required)

  - `entries` (array, required)

  - `entries.amount` (number, required)

  - `entries.batch_id` (string)
    The batch that recognized this entry

  - `entries.cogs_batch_id` (string)
    The ID of the batch used to track COGS

  - `entries.date` (string, required)

  - `entries.deferral_batch_id` (string)
    The ID of the batch used to process deferrals

  - `entries.deferred_revenue_gl_account_id` (string, required)

  - `entries.entry_id` (string, required)

  - `entries.parent_entry_id` (string)

  - `entries.recognized_in_fiscal_period` (number)
    The fiscal period in which this entry was recognized

  - `entries.recognized_in_fiscal_year_id` (string)
    The fiscal year in which this entry was recognized

  - `entries.revenue_gl_account_id` (string, required)

  - `entries.revenue_split_id` (string)

  - `entries.status` (string, required)
    Enum: "error", "recognized", "unrecognized"

  - `id` (string, required)
    The unique, string identifier of this revenue recognition schedule

  - `invoice_id` (string, required)

  - `invoice_line_item_id` (string, required)

  - `membership_id` (string)
    The membership this schedule is tied to

  - `notes` (string)
    Optional notes/description for the schedule

  - `organization_id` (string)
    Organization that owns this

  - `parent_schedule_id` (string)
    The parent schedule, if this schedule is related to another

  - `payment_id` (string, required)

  - `payment_line_item_id` (string, required)

  - `product_id` (string, required)
    The ID of the product

  - `product_name` (string)
    The name of the product

  - `product_type` (string, required)
    The type of product being deferred

  - `product_version` (number)
    The versino of the product that created this schedule

  - `recognized_amount` (number, required)
    The amount of revenue that has been recognized

  - `refund_id` (string, required)

  - `revenue_gl_account_id` (string, required)

  - `revenue_splits` (array)

  - `revenue_splits.amount` (number)

  - `revenue_splits.percentage` (number)

  - `revenue_splits.revenue_gl_account_id` (string, required)

  - `revenue_splits.revenue_split_id` (string, required)

  - `revenue_splits.type` (string)
    Enum: "fixed amount", "percentage"

  - `status` (string, required)
    Enum: "closed", "open"

  - `sys_bulk_load_at` (string)
    If this record was loaded via bulk, the timestamp when the record was processed

  - `sys_bulk_load_id` (string)
    If this record was loaded via bulk, the ID of the bulk load process

  - `sys_bulk_load_pk` (string)
    If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key

  - `sys_bulk_load_record_no` (number)
    If this record was loaded via bulk, the record number in the source file

  - `sys_bulk_load_source_file` (string)
    If this record was loaded via bulk, the source file

  - `sys_business_unit_status` (string)
    Concatenation of the business unit id and the status, used for indexing

  - `sys_calculated_field_error` (string)
    The error associated with the calculated field

  - `sys_calculated_field_errors` (array)

  - `sys_calculated_field_errors.error` (string)

  - `sys_calculated_field_errors.field` (string)

  - `sys_configuration_snapshot_id` (string)
    If a snapshot was restored/applies to this record, the ID of the snapshot

  - `sys_created_at` (string, required)
    The date/time that this record was created, expressed in ISO-8601 date format

  - `sys_created_by_id` (string, required)
    The ID of the user that created this record

  - `sys_deleted_by_id` (string)
    The ID of the user that deleted (or last tried to delete) this object

  - `sys_directive` (string)
    Means for passing directive information into an object processing logic

  - `sys_external_id` (string)
    The ID that a record has from an external system or data import

  - `sys_has_files_in_s3` (boolean)
    If true, this record has files in S3. If false, it doesnt, so no need to hit S3 upon deletion

  - `sys_last_bulk_data_operation_id` (string)
    If this record was last touched by a bulk data operation, the ID of that operation

  - `sys_last_bulk_data_operation_sys_version` (string)
    If this record was last touched by a bulk data operation, the sys_version at the time of that operation

  - `sys_last_modified_at` (string, required)
    The date/time that this record record was last modified, expressed in ISO-8601 date format

  - `sys_last_modified_by_id` (string, required)
    The ID of the user that last modified this record

  - `sys_last_security_context` (object)
    The security context of the last insert, modify, or delete performed on this item

  - `sys_locked` (boolean)
    If set, this record is locked and cannot be changed via the API

  - `sys_snapshot_base_version` (number)
    The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox

  - `sys_version` (number)
    A number representing the version of this record in the database

  - `total` (number, required)
    The total to be recognized in this schedule

  - `transaction_id` (string, required)
    The transaction ID

  - `type` (string, required)
    Enum: "credit memo", "debit memo", "invoice", "payment", "refund", "write off"

  - `unrecognized_amount` (number, required)
    The unrecognized amount of revenue

  - `write_off_id` (string, required)

## Response 200 headers (application/json):

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 400:

  - `400` (unknown)
    The JSON patch directive you supplied was not valid.

## Response 400 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized.

## Response 401 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 403:

  - `403` (unknown)
    Forbidden.

## Response 403 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 404:

  - `404` (unknown)
    The revenue recognition schedule could not be found.

## Response 404 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 405:

  - `405` (unknown)
    The request method is not allowed.

## Response 405 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 409:

  - `409` (unknown)
    The revenue recognition schedule could not be saved because it refers to/depends on a non-existent object.

## Response 409 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 429:

  - `429` (unknown)
    Limit exceeded... unable to retrieve revenue recognition schedule based on tenant limits.

## Response 429 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 500:

  - `500` (unknown)
    General server error.

## Response 500 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

