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

# Update a contact

Update a single contact identified by `contact_id`.

The fields `language`, `locale`, and `time_zone` may be omitted.

If omitted in the API request, the rest of the fields related to permissions will be updated to their default values (which is ‘false’)

<Warning>We do not currently support `PUT`. This may be supported in a later release.</Warning>


## OpenAPI

````yaml /openapi.json patch /contacts/{contact_id}
openapi: 3.0.0
info:
  description: |
    Ebury API allows customers:
      to retrieve accounts, balances, beneficiaries, and transactions;
      to get buy/sell estimates and quotes, book trades and retrieve trade history;
      to allocate payments to a trade and beneficiary, and to submit payments in bulk;
      to download documents such as trade receipt, payment instruction and payment receipt;
      to manage the authorised persons on their account.
    The Metadata API allows applications to clarify some parts of the Ebury API
      that are impractical to express schematically.
  termsOfService: https://docs.ebury.io/#terms-of-use
  title: Ebury API
  version: '0.1'
servers:
  - url: https://{environment}.ebury.io
    variables:
      environment:
        default: api
        enum:
          - api
          - sandbox
security:
  - api_key: []
paths:
  /contacts/{contact_id}:
    parameters:
      - $ref: '#/components/parameters/ContactId'
      - $ref: '#/components/parameters/ClientId'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XContactID'
    patch:
      tags:
        - Contacts
      summary: Update a contact
      description: Update a contact by contact's identifier.
      operationId: contact_patch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactUpdate'
        description: List of field names and values for update an existing contact.
        required: true
      responses:
        '204':
          $ref: '#/components/responses/ContactUpdated'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/ContactOrClientNotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '502':
          $ref: '#/components/responses/IntegrationError'
components:
  parameters:
    ContactId:
      description: The identifier of a contact.
      in: path
      name: contact_id
      required: true
      schema:
        type: string
    ClientId:
      description: The identifier of a client.
      in: query
      name: client_id
      required: true
      schema:
        type: string
    Authorization:
      description: The access token.
      in: header
      name: Authorization
      required: true
      schema:
        type: string
    XContactID:
      description: The identifier of a contact.
      in: header
      name: X-Contact-ID
      required: false
      schema:
        type: string
  schemas:
    ContactUpdate:
      allOf:
        - $ref: '#/components/schemas/ContactUpdateableData'
      description: The data to update a contact.
      type: object
    ContactUpdateableData:
      description: The data of a contact which can be updated.
      properties:
        can_authorise_payments:
          description: True if contact can authorise payments, False otherwise.
          type: boolean
        can_make_same_currency_payments:
          description: >-
            True if contact can create trades and assign same currency payments,
            False otherwise.
          type: boolean
        can_manage_beneficiaries:
          description: True if contact can manage beneficiaries, False otherwise.
          type: boolean
        can_manage_beneficiaries_groups:
          description: True if can manage beneficiaries groups, False otherwise.
          type: boolean
        can_manage_contacts:
          description: True if contact can manage contacts, False otherwise.
          type: boolean
        can_manage_fix_forwards:
          description: True if contact can manage fixed forwards, False otherwise.
          type: boolean
        can_manage_multipayments:
          description: True if contact can manage multipayments, False otherwise.
          type: boolean
        can_manage_payments:
          description: True if contact can manage payments, False otherwise.
          type: boolean
        can_manage_permissions:
          description: True if contact can manage permissions, False otherwise.
          type: boolean
        can_trade:
          description: True if contact can execute trades, False otherwise.
          type: boolean
        can_make_independent_payments:
          description: True if contact can make independent payments, False otherwise.
          type: boolean
        can_drawdown:
          description: True if contact can create drawdowns, False otherwise.
          type: boolean
        can_get_paid:
          description: True if contact can see/create get paid requests, False otherwise.
          type: boolean
        can_manage_third_parties:
          description: True if contact can manage third parties, False otherwise.
          type: boolean
        can_authorize_payment_lvl_1:
          description: True if contact can authorise payments at level 1, False otherwise.
          type: boolean
        can_authorize_payment_lvl_2:
          description: True if contact can authorise payments at level 2, False otherwise.
          type: boolean
        can_authorize_payment_lvl_3:
          description: True if contact can authorise payments at level 3, False otherwise.
          type: boolean
        can_authorize_payment_lvl_4:
          description: True if contact can authorise payments at level 4, False otherwise.
          type: boolean
        can_trade_finance:
          description: True if contact can access trade finance, False otherwise.
          type: boolean
        can_select_multipayment_delivery_date:
          description: >-
            True if contact can select delivery date in multipayments, False
            otherwise.
          type: boolean
        can_manage_trade_finance_permissions:
          description: >-
            True if contact can manage trade finance permissions, False
            otherwise.
          type: boolean
        can_create_card_topup:
          description: True if contact can create card topup transactions, False otherwise.
          type: boolean
        can_create_card_offload:
          description: >-
            True if contact can create card offload transactions, False
            otherwise.
          type: boolean
        has_online_access:
          description: True if contact has access to Ebury Online, False otherwise.
          type: boolean
        language:
          description: The ISO 639-1:2002 code of the contact's language.
          pattern: '[a-z]{2}'
          type: string
        locale:
          description: The ISO 639-1:2002 code of the contact's locale.
          pattern: '[a-z]{2}'
          type: string
        time_zone:
          description: The time zone of the contact.
          type: string
      type: object
    ErrorMessage:
      description: An error message.
      properties:
        code:
          type: string
          description: The code for the error.
        details:
          description: Error details
          type: string
        message:
          type: string
          description: A short description of the cause of the error.
      required:
        - code
        - message
        - details
      type: object
  responses:
    ContactUpdated:
      description: Contact updated.
    ValidationError:
      description: >-
        Formatting, parameter or schema validation error. See error message for
        further details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Unauthorized:
      description: Access denied due to authentication failure.
    Forbidden:
      description: >-
        Could not complete action due to data constraints. Refer to error
        message for additional details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    ContactOrClientNotFound:
      description: Contact or client identifier not found.
    Conflict:
      description: >-
        Request invalid due to beneficiary management rules. Refer to error
        message for additional details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    IntegrationError:
      description: Internal integration error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
  securitySchemes:
    api_key:
      description: An API Key.
      in: header
      name: x-api-key
      type: apiKey

````