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

# Publish Processor Version

> Publish a new version of an existing processor in Extend.

This endpoint allows you to publish a new version of an existing processor. Publishing a new version creates a snapshot of the processor's current configuration and makes it available for use in workflows.
Publishing a new version does not automatically update existing workflows using this processor. You may need to manually update workflows to use the new version if desired.

### Path Parameters

<ParamField path="id" type="string" required>
  The ID of the processor to publish a new version for.
</ParamField>

### Body

<ParamField body="releaseType" type="string" required>
  The type of release for this version. The two options are: "major" and
  "minor", which will increment the version number accordingly.
</ParamField>

<ParamField body="description" type="string">
  A description of the changes in this version. This helps track the evolution
  of the processor over time.
</ParamField>

<ParamField body="config" type="object" optional>
  Optionally supply a config object for this version of the processor.

  If not supplied, the config that is currently in the `draft` ProcessorVersion in Extend will be used.

  See the [Processor Configs](/api-reference/guides/processor_configs) guide for more details on config schema.
</ParamField>

### Response

<ResponseField name="success" type="boolean">
  A true or false value indicating whether the processor version was published
  successfully or not.
</ResponseField>

<ResponseField name="processorVersion" type="ProcessorVersion">
  A ProcessorVersion object representing the newly published version of the
  processor. See the [ProcessorVersion
  object](/api-reference/objects/processor_version) for more details.
</ResponseField>

### Error Responses

<ResponseField name="success" type="boolean">
  Will be `false` if the request failed.
</ResponseField>

<ResponseField name="error" type="string">
  A description of the error that occurred.
</ResponseField>

#### Common Errors

* **400 Bad Request**: If the request body fails schema validation or if there's an issue with the provided configuration, particularly when it comes to the `config` which depends on the processor type.

<ResponseExample>
  ```json Example Success Response theme={null}
  {
    "success": true,
    "processorVersion": {
      "object": "document_processor_version",
      "id": "processor_version_5678",
      "processorId": "processor_1234",
      "processorType": "EXTRACT",
      "description": "Updated extraction rules for invoice processing",
      "version": "1.2.0",
      "config": {
        // Config object - see “Processor configs” for details
      },
      "createdAt": "2024-03-01T14:00:00Z",
      "updatedAt": "2024-03-01T14:00:00Z"
    }
  }
  ```
</ResponseExample>
