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

# Update asset by ID

```jsonc Body raw (json) wrap expandable theme={null}
{
    "title",// required | max : 200
    "status",// required | acceptable_values : uninstalled,installed,retired
    "customer_id",// nullable | integer | existing customer id
    "maintenance_agreement_id",// nullable | integer | existing maintenance agreement id
    "asset_category_id",// nullable | integer | existing asset category id
    "asset_type",// optional | acceptable_values : company,customer
    "is_template",// optional | boolean
    "tag",// optional | string | max:255
    "location",// optional | string | max:255 | description: Location string for example "Some street 1, City, State, Zip Code"
    "install_date",// nullable | timestamp
    "manufacturer",// optional | string | max:255 | description: Mannufacturer name
    "model",// optional | string | max:255 | description: Model name
    "model_number",// optional | string | max:255
    "serial_number",// optional | string | max:255
    "model_year",// optional | integer
    "model_details",// optional | string | max:4000
    "warranty_expiration",// optional | integer | digits:10
    "labor_warranty_expiration",// optional | integer | digits:10
    "warranty_information",// optional | string | max:4000
    "labor_warranty_information",// optional | string | max:4000
    "condition",// optional | string | max:255
    "issues",// optional | string | max:4000
    "notes",// optional | string | max:4000
    "job_ids",// optional | array | description: array of existing job ids to associate the asset
    "location_id",// nullable | integer | existing location id
    "customfields": [ // optional | array | description: array of custom fleds
        {
            "id" // optional | nullable | required if field_instance_id is not set | integer | custom field id
            "field_instance_id" // optional | nullable | required if id is not set | integer | custom field instance id
            "value" // required | string | custom value
        },
        {
            "id" // optional | nullable | required if field_instance_id is not set | integer | custom field id
            "field_instance_id" // optional | nullable | required if id is not set | integer | custom field instance id
            "value" // required | string | custom value
        }
    ]
}
```


## OpenAPI

````yaml put /assets/{id}
openapi: 3.0.0
info:
  title: FieldPulse API
  description: >-
    REST API for the FieldPulse field service management platform.


    **Authentication:** All requests require an `x-api-key` header. Contact
    support@fieldpulse.com to obtain your API key.


    **Important:** The API Playground below makes live requests against your
    production data. Use caution when testing write operations (POST, PUT,
    DELETE).
  version: 1.0.0
servers:
  - url: https://ywe3crmpll.execute-api.us-east-2.amazonaws.com/stage
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: Assets
    description: Endpoints related to assets
  - name: Assets Category
    description: Endpoints related to assets category
  - name: Comments
    description: Endpoints related to comments
  - name: Company Profile
    description: Endpoints related to contracts
  - name: Contracts
    description: Endpoints related to contracts
  - name: Customers
    description: Endpoints related to customers
  - name: Custom Fields
    description: Endpoints related to custom fields
  - name: Estimates
    description: Endpoints related to estimates
  - name: Invoices
  - name: Items
  - name: Jobs
  - name: Lead Source
  - name: Locations
  - name: Material Lists
  - name: Payments
  - name: Pipeline Status
  - name: Projects
  - name: Purchase Orders
  - name: Subtasks
  - name: Tags
  - name: Teams
  - name: Timesheets
  - name: Users
  - name: Vendors
  - name: Version
paths:
  /assets/{id}:
    put:
      tags:
        - Assets
      summary: Update asset by ID
      operationId: putAssetsById
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  maxLength: 200
                status:
                  type: string
                  enum:
                    - uninstalled
                    - installed
                    - retired
                customer_id:
                  type: integer
                  nullable: true
                  description: Existing customer id.
                maintenance_agreement_id:
                  type: integer
                  nullable: true
                  description: Existing maintenance agreement id.
                asset_category_id:
                  type: integer
                  nullable: true
                  description: Existing asset category id.
                asset_type:
                  type: string
                  enum:
                    - company
                    - customer
                is_template:
                  type: boolean
                tag:
                  type: string
                  maxLength: 255
                location:
                  type: string
                  maxLength: 255
                  description: >-
                    Location string for example "Some street 1, City, State, Zip
                    Code".
                install_date:
                  type: integer
                  nullable: true
                  description: Unix timestamp.
                manufacturer:
                  type: string
                  maxLength: 255
                  description: Mannufacturer name.
                model:
                  type: string
                  maxLength: 255
                  description: Model name.
                model_number:
                  type: string
                  maxLength: 255
                serial_number:
                  type: string
                  maxLength: 255
                model_year:
                  type: integer
                model_details:
                  type: string
                  maxLength: 4000
                warranty_expiration:
                  type: integer
                  description: 10 digits.
                labor_warranty_expiration:
                  type: integer
                  description: 10 digits.
                warranty_information:
                  type: string
                  maxLength: 4000
                labor_warranty_information:
                  type: string
                  maxLength: 4000
                condition:
                  type: string
                  maxLength: 255
                issues:
                  type: string
                  maxLength: 4000
                notes:
                  type: string
                  maxLength: 4000
                job_ids:
                  type: array
                  items:
                    type: integer
                  description: Array of existing job ids to associate the asset.
                location_id:
                  type: integer
                  nullable: true
                  description: Existing location id.
                customfields:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        nullable: true
                        description: >-
                          Required if field_instance_id is not set. Custom field
                          id.
                      field_instance_id:
                        type: integer
                        nullable: true
                        description: Required if id is not set. Custom field instance id.
                      value:
                        type: string
                        description: Custom value.
                    required:
                      - value
                  description: Array of custom fields.
              required:
                - title
                - status
            example:
              title: some string
              status: uninstalled
              customer_id: 1
              maintenance_agreement_id: 1
              asset_category_id: 1
              asset_type: company
              is_template: true
              tag: some string
              location: some string
              install_date: 1234567890
              manufacturer: some string
              model: some string
              model_number: some string
              serial_number: some string
              model_year: 1
              model_details: some string
              warranty_expiration: 1
              labor_warranty_expiration: 1
              warranty_information: some string
              labor_warranty_information: some string
              condition: some string
              issues: some string
              notes: some string
              job_ids:
                - 1
              location_id: 1
              customfields:
                - id: 1
                  field_instance_id: 1
                  value: some string
                - id: 1
                  field_instance_id: 1
                  value: some string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: boolean
                    description: false when the request succeeds.
                    example: false
                  response:
                    type: object
                    description: The updated record.
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                error: true
                errors:
                  - error message
                  - error message
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                message: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              example:
                message: Request URL or object not found
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                message: Internal Server Error
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

## Related topics

- [Customer Portal Overview](/customers/customer-portal/customer-portal.md)
- [User Roles and Permissions Details](/settings/users-teams/user-roles.md)
- [How to Create Asset Reports](/reporting/raw-data/asset-reports.md)
- [How to Manage Assets](/jobs/assets/managing-assets.md)
- [Customer Portal Experience Overview](/customers/customer-portal/portal-customer-view.md)


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