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

# Criar equipamento

> Cria um novo equipamento.



## OpenAPI

````yaml api-reference/v3/openapi.json POST /api/v3/assets
openapi: 3.1.0
info:
  version: v3
  title: Salvy API
  x-logo:
    url: web/logo.png
servers:
  - url: https://api.salvy.com.br
    description: Salvy API URL
security:
  - bearerAuth: []
tags:
  - name: Public API
  - name: Outgoing Webhooks
paths:
  /api/v3/assets:
    post:
      tags:
        - Public API
      description: Cria um novo equipamento.
      operationId: publicCreateAssetV3
      parameters:
        - name: idempotency-key
          in: header
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            description: >-
              Idempotency key for this request. Will return the same response if
              the same request is made again with the same key. Fails if
              parameters are different.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                enrollmentId:
                  type: string
                  description: Número de patrimônio do equipamento.
                  example: SLY-12345
                category:
                  description: >-
                    Categoria do equipamento. Uma categoria com esse nome é
                    criada automaticamente caso ainda não exista.
                  example: notebook
                  type:
                    - string
                    - 'null'
                brand:
                  description: Marca do equipamento.
                  example: Dell
                  type:
                    - string
                    - 'null'
                model:
                  description: Modelo do equipamento.
                  example: XPS 13
                  type:
                    - string
                    - 'null'
                vendorName:
                  description: Nome do fornecedor do equipamento.
                  example: Tech Supplier Inc.
                  type:
                    - string
                    - 'null'
                serialNumber:
                  description: Número de série do equipamento.
                  example: SN1234567890
                  type:
                    - string
                    - 'null'
                acquisitionDate:
                  anyOf:
                    - type: string
                      format: date
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    - type: 'null'
                  description: Data de aquisição do equipamento.
                  example: '2025-12-10'
                acquisitionType:
                  anyOf:
                    - type: string
                      enum:
                        - bought
                        - rented
                        - other
                    - type: 'null'
                  description: Tipo de aquisição do equipamento.
                  example: bought
                priceCents:
                  description: Preço de aquisição do equipamento, em centavos.
                  example: 250000
                  type:
                    - number
                    - 'null'
                nfeNumber:
                  description: Número da nota fiscal de aquisição do equipamento.
                  example: '000123456789'
                  type:
                    - string
                    - 'null'
                contractId:
                  description: Identificador do contrato relacionado ao equipamento.
                  example: CT-2024-0001
                  type:
                    - string
                    - 'null'
                warrantyExpirationDate:
                  anyOf:
                    - type: string
                      format: date
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    - type: 'null'
                  description: Data de expiração da garantia do equipamento.
                  example: '2025-12-24'
                status:
                  type: string
                  enum:
                    - available
                    - in-use
                    - allocated
                    - maintenance
                    - broken
                    - lost
                    - stolen
                    - sold
                    - donated
                    - discarded
                    - obsolete
                    - blocked
                    - pending-verification
                    - awaiting-quote
                  description: >-
                    Situação do equipamento. O valor `archived` não é aceito na
                    criação — arquive o equipamento através de POST
                    /assets/:id/archive depois de criado.
                  example: in-use
                allocatedLocation:
                  description: Local de alocação do equipamento.
                  example: Sala do RH
                  type:
                    - string
                    - 'null'
                employeeId:
                  description: >-
                    ID do colaborador ao qual o equipamento será associado. Deve
                    pertencer à mesma empresa da chave de API.
                  example: 123e4567-e89b-12d3-a456-426614174000
                  type:
                    - string
                    - 'null'
                employeeAttachedAt:
                  description: Data de vinculação do colaborador ao equipamento.
                  example: '2025-01-01T00:00:00.000Z'
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                    - type: 'null'
                customFields:
                  description: Campos personalizados do equipamento.
                  example:
                    - label: teste
                      value: teste
                  type: array
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                      value:
                        type: string
                    required:
                      - label
                      - value
                    additionalProperties: false
              required:
                - enrollmentId
                - status
              additionalProperties: false
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  id:
                    description: Identificador do equipamento na plataforma Salvy.
                    example: 123e4567-e89b-12d3-a456-426614174000
                    title: UUID
                    type: string
                    examples:
                      - 123e4567-e89b-12d3-a456-426614174000
                      - 123e4567-e89b-12d3-a456-426614174001
                  companyId:
                    description: ID da empresa dona do equipamento.
                    example: 123e4567-e89b-12d3-a456-426614174000
                    title: UUID
                    type: string
                    examples:
                      - 123e4567-e89b-12d3-a456-426614174000
                      - 123e4567-e89b-12d3-a456-426614174001
                  enrollmentId:
                    type: string
                    description: Número de patrimônio do equipamento.
                    example: SLY-12345
                  category:
                    description: >-
                      Categoria do equipamento. Nulo quando o equipamento não
                      está categorizado.
                    example: notebook
                    type:
                      - string
                      - 'null'
                  brand:
                    description: Marca do equipamento.
                    example: Dell
                    type:
                      - string
                      - 'null'
                  model:
                    description: Modelo do equipamento.
                    example: XPS 13
                    type:
                      - string
                      - 'null'
                  vendorName:
                    description: Nome do fornecedor do equipamento.
                    example: Tech Supplier Inc.
                    type:
                      - string
                      - 'null'
                  serialNumber:
                    description: Número de série do equipamento.
                    example: SN1234567890
                    type:
                      - string
                      - 'null'
                  deviceId:
                    description: >-
                      ID do dispositivo coletado pelo aplicativo mobile da
                      Salvy.
                    example: 8A1D30F4-8C87-44CD-A663-2229DE6F64BD
                    type:
                      - string
                      - 'null'
                  acquisitionDate:
                    anyOf:
                      - type: string
                        format: date
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                      - type: 'null'
                    description: Data de aquisição do equipamento.
                    example: '2025-12-10'
                  acquisitionType:
                    anyOf:
                      - type: string
                        enum:
                          - bought
                          - rented
                          - other
                      - type: 'null'
                    description: Tipo de aquisição do equipamento.
                    example: bought
                  priceCents:
                    description: Preço de aquisição do equipamento, em centavos.
                    example: 250000
                    type:
                      - number
                      - 'null'
                  nfeNumber:
                    description: Número da nota fiscal de aquisição do equipamento.
                    example: '000123456789'
                    type:
                      - string
                      - 'null'
                  contractId:
                    description: Identificador do contrato relacionado ao equipamento.
                    example: CT-2024-0001
                    type:
                      - string
                      - 'null'
                  warrantyExpirationDate:
                    anyOf:
                      - type: string
                        format: date
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                      - type: 'null'
                    description: Data de expiração da garantia do equipamento.
                    example: '2025-12-24'
                  status:
                    type: string
                    enum:
                      - available
                      - in-use
                      - allocated
                      - maintenance
                      - broken
                      - lost
                      - stolen
                      - sold
                      - donated
                      - discarded
                      - archived
                      - obsolete
                      - blocked
                      - pending-verification
                      - awaiting-quote
                    description: Situação do equipamento.
                    example: in-use
                  allocatedLocation:
                    description: Local de alocação do equipamento.
                    example: Sala do RH
                    type:
                      - string
                      - 'null'
                  employeeId:
                    anyOf:
                      - title: UUID
                        type: string
                        description: A valid UUID string, in any version.
                        examples:
                          - 123e4567-e89b-12d3-a456-426614174000
                          - 123e4567-e89b-12d3-a456-426614174001
                      - type: 'null'
                    description: >-
                      ID do colaborador ao qual o equipamento está associado.
                      Nulo quando não há colaborador vinculado.
                    example: 123e4567-e89b-12d3-a456-426614174000
                  employeeAttachedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                      - type: 'null'
                    description: >-
                      Data de vinculação do colaborador ao equipamento. Nulo
                      quando não há colaborador vinculado, inclusive após a
                      remoção automática do vínculo.
                    example: '2025-01-01T00:00:00.000Z'
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                    description: Data de criação do equipamento.
                    example: '2025-01-01T00:00:00.000Z'
                  archivedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                      - type: 'null'
                    description: >-
                      Data de arquivamento do equipamento. Nulo quando não está
                      arquivado. Controlado através de POST /assets/:id/archive
                      e POST /assets/:id/unarchive.
                    example: '2025-06-01T00:00:00.000Z'
                  source:
                    type: string
                    enum:
                      - manual
                      - sheets-import
                      - nfe-import
                      - desktop-client
                      - mobile-app
                      - android-mdm
                    description: Fonte de criação do equipamento.
                    example: desktop-client
                  customFields:
                    type: array
                    items:
                      type: object
                      properties:
                        label:
                          type: string
                        type:
                          type: string
                          enum:
                            - text
                            - select
                        value:
                          type: string
                      required:
                        - label
                        - type
                        - value
                      additionalProperties: false
                    description: Campos personalizados do equipamento.
                    example:
                      - label: teste
                        type: text
                        value: teste
                required:
                  - id
                  - companyId
                  - enrollmentId
                  - category
                  - brand
                  - model
                  - vendorName
                  - serialNumber
                  - deviceId
                  - acquisitionDate
                  - acquisitionType
                  - priceCents
                  - nfeNumber
                  - contractId
                  - warrantyExpirationDate
                  - status
                  - allocatedLocation
                  - employeeId
                  - employeeAttachedAt
                  - createdAt
                  - archivedAt
                  - source
                  - customFields
                additionalProperties: false
        '400':
          description: ''
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - idempotency-parameters-mismatch-error
                      - idempotency-invalid-header-error
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: {}
        '401':
          description: ''
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - unauthorized
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: {}
        '403':
          description: ''
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - forbidden
                      - insufficient-scope
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: {}
        '404':
          description: ''
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - resource-not-found
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: {}
        '413':
          description: ''
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - payload-too-large
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: {}
        '422':
          description: ''
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - input-validation-error
                      - unprocessable-entity
                      - duplicate-asset-enrollment-id
                      - company-not-active
                  message:
                    type: string
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        message:
                          type: string
                      required:
                        - key
                        - message
                      additionalProperties: false
                required:
                  - code
                  - message
                additionalProperties: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - unknown
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: {}
      deprecated: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: key

````