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

# Partial Update Person By ID

> Update individual fields on person object.



## OpenAPI

````yaml api-reference/oas-with-internal-removed.yaml patch /deliver/persons/{id}
openapi: 3.0.1
info:
  title: Orum API
  description: Orum API.
  version: v2022-09-21
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - url: https://api-sandbox.orum.io
  - url: https://vault.api-sandbox.orum.io
security: []
paths:
  /deliver/persons/{id}:
    patch:
      tags:
        - Persons
      summary: Partial update a person by id
      description: Update individual fields on person object.
      operationId: patch-person
      parameters:
        - name: Orum-Version
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/OrumVersion'
          x-orum-error-invalid:
            known-error: version_invalid
          x-orum-error-missing:
            known-error: version_missing
        - name: id
          in: path
          required: true
          description: >-
            Orum generated unique id for the resource for the person resource
            you are updating.
          schema:
            $ref: '#/components/schemas/OrumId'
          x-orum-error-invalid:
            known-error: unknown_id_person
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchPersonRequest'
        required: true
      responses:
        '200':
          description: 200 response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonResponse'
        '400':
          description: invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: unexpected error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - oauth2:
            - write:persons
components:
  schemas:
    OrumVersion:
      type: string
      description: Version of Deliver and Verify APIs. Use v2022-09-21.
      enum:
        - v2022-09-21
    OrumId:
      type: string
      description: Orum generated unique id for the resource.
      format: uuid
    PatchPersonRequest:
      title: PatchPersonRequest
      type: object
      properties:
        first_name:
          allOf:
            - $ref: '#/components/schemas/FirstName'
          type: string
          nullable: true
          x-orum-error-invalid:
            known-error: invalid_first_name
        middle_name:
          allOf:
            - $ref: '#/components/schemas/MiddleName'
          type: string
          nullable: true
          x-orum-error-invalid:
            known-error: invalid_middle_name
        last_name:
          allOf:
            - $ref: '#/components/schemas/LastName'
          type: string
          nullable: true
          x-orum-error-invalid:
            known-error: invalid_last_name
        date_of_birth:
          allOf:
            - $ref: '#/components/schemas/DateOfBirth'
          type: string
          nullable: true
          x-orum-error-invalid:
            message: Date of birth is invalid. Valid format is YYYY-MM-DD.
            code: invalid_date_of_birth
        social_security_number:
          allOf:
            - $ref: '#/components/schemas/SocialSecurityNumber'
          type: string
          nullable: true
        addresses:
          type: array
          description: >-
            Address information for the person. "type" is required if you are
            updating other address fields. Note: This field is required for
            payouts, deposits, or account-to-account transfers.
          items:
            $ref: '#/components/schemas/PersonPatchPostalAddressRequest'
          maxItems: 1
          nullable: true
        contacts:
          type: array
          description: >-
            Optional list of contact information for the person. If object is
            present, either phone and/or email contact types are accepted.  A
            maximum of three persons or businesses can have the same phone
            number.
          items:
            $ref: '#/components/schemas/PatchContactRequestPerson'
          minItems: 0
          maxItems: 2
          nullable: true
        metadata:
          allOf:
            - $ref: '#/components/schemas/Metadata'
          type: object
          nullable: true
          x-orum-error-invalid:
            message: Metadata must be a valid JSON object.
            code: invalid_metadata
    PersonResponse:
      title: PersonResponse
      type: object
      required:
        - person
      properties:
        person:
          allOf:
            - $ref: '#/components/schemas/PersonResponseBase'
    ErrorResponse:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
        details:
          type: object
          description: additional details about the error.
          nullable: true
      required:
        - error_code
        - message
    FirstName:
      title: FirstName
      type: string
      description: >-
        Accepts latin characters and hyphens, dashes, periods, apostrophes,
        spaces, and diacritics.
      pattern: >-
        ^[
        ’!"#$%&'()*+,-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ]+$
      minLength: 1
      maxLength: 255
    MiddleName:
      title: MiddleName
      type: string
      description: >-
        Accepts latin characters and hyphens, dashes, periods, apostrophes,
        spaces, and diacritics.
      pattern: >-
        ^[
        ’!"#$%&'()*+,-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ]*$
      maxLength: 255
    LastName:
      title: LastName
      type: string
      description: >-
        Accepts latin characters and hyphens, dashes, periods, apostrophes,
        spaces, and diacritics.
      pattern: >-
        ^[
        ’!"#$%&'()*+,-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ]+$
      minLength: 1
      maxLength: 255
    DateOfBirth:
      title: DateOfBirth
      type: string
      pattern: ^((19|20)\d\d)-(0[1-9]|1[0-2])-(([01])[0-9]|2[0-9]|3[0-1])$
      description: >-
        Date of birth in YYYY-MM-DD format. Note: This field is required for
        payouts, deposits, or account-to-account transfers. Age must be less
        than 100 years and greater than 18 years to be verified.
    SocialSecurityNumber:
      title: SocialSecurityNumber
      type: string
      nullable: true
      description: >-
        Social Security Number (SSN) or Individual Taxpayer Identification
        Number (ITIN) in XXX-XX-XXXX format. An example dummy value is
        123-45-6789. Note: This field is required for payouts, deposits, or
        account-to-account transfers.
    PersonPatchPostalAddressRequest:
      title: PersonPatchPostalAddressRequest
      type: object
      required:
        - type
      description: Address.
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/AddressTypePerson'
          x-orum-error-invalid:
            message: Address type is invalid. Valid type for person is "home".
            code: invalid_addresses_type
        address1:
          $ref: '#/components/schemas/Address1'
        address2:
          $ref: '#/components/schemas/Address2'
        city:
          $ref: '#/components/schemas/City'
        state:
          allOf:
            - $ref: '#/components/schemas/State'
          x-orum-error-invalid:
            known-error: invalid_state
        country:
          allOf:
            - $ref: '#/components/schemas/Country'
          x-orum-error-invalid:
            known-error: invalid_country
        zip5:
          allOf:
            - $ref: '#/components/schemas/Zip5'
          x-orum-error-invalid:
            known-error: invalid_zip5
    PatchContactRequestPerson:
      allOf:
        - $ref: '#/components/schemas/ContactBasePerson'
    Metadata:
      type: object
      description: >-
        Additional data you would like to provide on the resource. The field
        supports valid JSON of up to 5 key-value pairs with a maximum of 20
        characters for the key and 50 characters for the value. Do not include
        any sensitive information.
    PersonResponseBase:
      type: object
      required:
        - id
        - customer_reference_id
        - first_name
        - last_name
        - status
        - created_at
        - updated_at
      properties:
        id:
          $ref: '#/components/schemas/OrumId'
        customer_reference_id:
          $ref: '#/components/schemas/CustomerReferenceId'
        first_name:
          type: string
        middle_name:
          type: string
        last_name:
          type: string
        date_of_birth:
          type: string
          description: >-
            Date of birth in YYYY-MM-DD format. Note: This field is required for
            payouts, deposits, or account-to-account transfers. Age must be less
            than 100 years and greater than 18 years to be verified.
        status:
          $ref: '#/components/schemas/PersonStatus'
        addresses:
          type: array
          description: >-
            Address information for the person. Note: This field is required for
            payouts, deposits, or account-to-account transfers.
          items:
            $ref: '#/components/schemas/PostalAddressResponse'
          minItems: 1
          maxItems: 1
        contacts:
          type: array
          description: List of contact information for the person.
          items:
            $ref: '#/components/schemas/ContactResponsePerson'
          minItems: 1
          maxItems: 2
        status_reasons:
          type: array
          description: Array that explains why the person failed verification.
          items:
            $ref: '#/components/schemas/StatusReason'
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
        closed_at:
          $ref: '#/components/schemas/ClosedAt'
        metadata:
          type: object
          description: >-
            Additional data you would like to provide on the resource. The field
            supports valid JSON of up to 5 key-value pairs with a maximum of 20
            characters for the key and 50 characters for the value. Do not
            include any sensitive information.
    AddressTypePerson:
      title: AddressTypePerson
      type: string
      description: Type of address. Always 'home' for person object.
      enum:
        - home
    Address1:
      title: Address1
      type: string
      description: Address line 1.
      maxLength: 255
      x-orum-error-invalid:
        message: >-
          Address1 is invalid. Ensure it is a string with a maximum length of
          255 characters.
        code: invalid_address1
    Address2:
      title: Address2
      type: string
      description: Address line 2.
      maxLength: 255
      x-orum-error-invalid:
        message: >-
          Address2 is invalid. Ensure it is a string with a maximum length of
          255 characters.
        code: invalid_address2
    City:
      title: City
      type: string
      description: City.
      maxLength: 255
    State:
      title: State
      type: string
      pattern: ^[A-Z]{2}$
      description: Uppercase two-character state code of the address.
    Country:
      title: Country
      type: string
      description: 2-character ISO country code.
      enum:
        - US
    Zip5:
      title: Zip5
      type: string
      description: 5-digit ZIP Code. Numeric values (0-9) only.
      pattern: ^\d{5}$
    ContactBasePerson:
      title: ContactBasePerson
      required:
        - type
      description: Contact information.
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/ContactTypePerson'
          x-orum-error-invalid:
            message: >-
              Contact type is invalid. Valid contact type for person is "email"
              or "phone".
            code: invalid_contacts_type
          x-orum-error-missing:
            message: Type field is required. Valid types are "email", or "phone".
            code: missing_contacts_type
        value:
          type: string
          description: Email or phone number.
          maxLength: 255
          x-orum-error-invalid:
            message: Value for contact type is invalid. Pass a string value.
            code: invalid_contacts_value
    CustomerReferenceId:
      title: CustomerReferenceId
      type: string
      description: >-
        Unique reference id for the customer (business or person) resource.
        Generated by you.
      minLength: 1
      maxLength: 255
    PersonStatus:
      title: PersonStatus
      type: string
      description: Status of person in Orum system.
      enum:
        - created
        - verified
        - rejected
        - restricted
        - closed
    PostalAddressResponse:
      title: PostalAddressResponse
      type: object
      required:
        - id
        - type
        - address1
        - city
        - state
        - country
        - zip5
        - created_at
        - updated_at
      description: Address.
      properties:
        id:
          $ref: '#/components/schemas/OrumId'
        type:
          $ref: '#/components/schemas/AddressType'
        address1:
          $ref: '#/components/schemas/Address1'
        address2:
          $ref: '#/components/schemas/Address2'
        city:
          $ref: '#/components/schemas/City'
        state:
          $ref: '#/components/schemas/State'
        country:
          $ref: '#/components/schemas/Country'
        zip5:
          $ref: '#/components/schemas/Zip5'
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
    ContactResponsePerson:
      title: ContactResponse
      type: object
      required:
        - id
        - type
        - value
        - created_at
        - updated_at
      description: Contact information.
      properties:
        id:
          $ref: '#/components/schemas/OrumId'
        type:
          $ref: '#/components/schemas/ContactTypePerson'
        value:
          type: string
          description: Email or phone number.
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
    StatusReason:
      type: object
      required:
        - reason_code
        - reason_code_message
      properties:
        reason_code:
          $ref: '#/components/schemas/ReasonCode'
        reason_code_message:
          $ref: '#/components/schemas/ReasonCodeMessage'
    CreatedAt:
      type: string
      description: Timestamp when the resource was created.
      format: date-time
    UpdatedAt:
      type: string
      description: Timestamp when the resource was last updated.
      format: date-time
    ClosedAt:
      type: string
      description: Timestamp when the status of the resource was set to "closed".
      format: date-time
    ContactTypePerson:
      title: ContactTypePerson
      type: string
      description: >-
        Type of contact information associated with a person - 'email' or
        'phone'.
      enum:
        - email
        - phone
    AddressType:
      title: AddressType
      type: string
      description: Type of address.
      enum:
        - home
        - legal
    ReasonCode:
      type: string
      description: A word-based code that describes the verification failure.
      example: invalid_address
    ReasonCodeMessage:
      type: string
      description: A human-readable description of the reason code.
      example: Address submitted is a non-supported address type
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api-sandbox.orum.io/oauth/token
          scopes:
            read:persons: Read persons
            write:persons: Write persons
            read:businesses: Read businesses
            write:businesses: Write businesses
            read:external-accounts: Read external accounts
            write:external-accounts: Write external accounts
            read:cards: Read cards
            write:cards: Write cards
            read:transfers: Read transfers
            write:transfers: Write transfers
            read:transfer-groups: Read transfer groups
            write:transfer-groups: Write transfer groups
            read:schedules: Read schedules
            write:schedules: Write schedules
            read:routing-number-eligibility: Read routing number eligibility
            read:balances: Read balances
            read:reports: Read reports
            write:reports: Write reports
            read:booktransfers: Read book transfers
            write:booktransfers: Write book transfers
            read:subledgers: Read subledgers
            write:subledgers: Write subledgers
            read:verify-accounts: Read verify accounts
            write:verify-accounts: Write verify accounts
            read:webhook-configurations: Read webhook configurations
            write:webhook-configurations: Write webhook configurations
            read:webhook-secret: Read webhook secret
            write:webhook-secret: Write webhook secret
            invoke:webhook: Invoke webhook

````