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

# Request Policy Update

> Request a change to a policy on behalf of your user. Once submitted, Axle will process the request.

For more details on supported operations and error codes, see the [Policy Updates](/guides/policy-updates) guide.



## OpenAPI

````yaml POST /policies/{policyId}/updates
openapi: 3.1.0
info:
  title: Axle API
  contact: {}
  version: '0.1'
servers:
  - description: Sandbox
    url: https://sandbox.axle.insure
  - description: Production
    url: https://api.axle.insure
    variables: {}
security:
  - ApiKeyAuth: []
paths:
  /policies/{policyId}/updates:
    parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
        description: The unique ID for the policy to execute the action on.
    post:
      tags:
        - Policies
      summary: Request Policy Update
      description: >-
        Request a change to a policy on behalf of your user. Once submitted,
        Axle will process the request.


        For more details on supported operations and error codes, see the
        [Policy Updates](/guides/policy-updates) guide.
      operationId: RequestPolicyUpdate
      parameters:
        - $ref: '#/components/parameters/x-client-id'
        - $ref: '#/components/parameters/x-destination-client-id'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              required:
                - operation
              properties:
                operation:
                  type: string
                  description: The policy update operation to execute.
                  enum:
                    - update-third-party
                input:
                  type: object
                  additionalProperties: false
                  description: >-
                    Details for the insurance carrier, overriding your policy
                    update configuration. An insurance carrier may require a
                    field or not apply it; see
                    [Input](/guides/policy-updates/request#input).
                  properties:
                    effectiveDate:
                      type: string
                      format: date
                      description: >-
                        The date the change should take effect, as `YYYY-MM-DD`.
                        Defaults to the insurance carrier's own change date.
                      example: '2026-12-01'
                    loanNumber:
                      type: string
                      description: >-
                        The loan number to record with the change. Defaults to
                        the loan number already on the policy.
                      example: '0022405666'
        required: true
      responses:
        '200':
          headers:
            x-axle-request-id:
              $ref: '#/components/headers/x-axle-request-id'
          description: The policy update was successfully created and is being processed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    $ref: '#/components/schemas/Success'
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        description: The ID of the created policy update.
                        example: plu_mZj6YGXhQyQnccN97aXbq
                      processesInstantly:
                        type: boolean
                        description: >-
                          Whether the policy update is processed instantly by
                          the insurance carrier. See details on processing
                          behavior via
                          [webhooks](/guides/policy-updates/events).
                      unsupportedInputs:
                        type: array
                        items:
                          type: string
                        description: >-
                          Fields of `input` the policy's insurance carrier
                          doesn't apply, so they weren't sent. Empty when
                          everything was sent. See
                          [Input](/guides/policy-updates/request#input).
                        example: []
        '400':
          headers:
            x-axle-request-id:
              $ref: '#/components/headers/x-axle-request-id'
          description: The request is invalid. See the error message for details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  errorCode:
                    type: string
                    description: >-
                      A machine-readable code identifying the error:
                      `policy-update-not-supported` or
                      `policy-update-input-required`.
                    example: policy-update-not-supported
                  message:
                    type: string
                    description: A human-readable description of the error.
                    example: >-
                      Policy update "update-third-party" is not supported for
                      this policy.
        '409':
          headers:
            x-axle-request-id:
              $ref: '#/components/headers/x-axle-request-id'
          description: Another policy update on this policy is still in progress.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  errorCode:
                    type: string
                    example: policy-update-in-progress
                  message:
                    type: string
                    example: >-
                      A policy update is already in progress for this policy.
                      Please try again later.
        '500':
          headers:
            x-axle-request-id:
              $ref: '#/components/headers/x-axle-request-id'
          description: An unexpected server error occurred.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  errorCode:
                    type: string
                    example: default
                  message:
                    type: string
                    example: Oops something went wrong. Please try again later.
      deprecated: false
components:
  parameters:
    x-client-id:
      name: x-client-id
      in: header
      required: true
      schema:
        type: string
      description: Your client ID. This will be shared with you during onboarding.
    x-destination-client-id:
      name: x-destination-client-id
      in: header
      required: false
      schema:
        type: string
      description: >-
        The client ID of the destination client. This is optional and only used
        by platform clients. See the [Axle for
        Platforms](/guides/platform-integration) guide for more information.
  headers:
    x-axle-request-id:
      description: >-
        A unique identifier generated per request. Include this value when
        contacting Axle support to help us locate your exact request.
      schema:
        type: string
      example: req_V1StGXR8_Z5jdHi6B-myT
  schemas:
    Success:
      title: Success
      type: boolean
      description: Indicates whether the operation was performed successfully.
      x-internal: false
      example: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        Your secret API key. This will be shared with you during onboarding and
        should be considered sensitive - it’s a password after all! Your secret
        will be matched with your client ID to authenticate your requests.

````

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