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

# Create or update a contact by email

> The _create or update a contact_ endpoint is used to create a new HubSpot contact or update an existing one. Use case for this endpoint: This method is useful when syncing changes to contacts in other CRMs with your HubSpot contacts.

export const ScopesList = ({scopes = [], description = "この API には、次のいずれかのスコープが必要です。"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

<Accordion title="Scope requirements">
  <ScopesList scopes={['crm.objects.contacts.read', 'content', 'crm.objects.contacts.write']} />
</Accordion>


## OpenAPI

````yaml specs/legacy/v1/crm-contacts-v1.json POST /contacts/v1/contact/createOrUpdate/email/{contact_email}
openapi: 3.0.0
info:
  title: CRM Contacts API v1
  version: 1.0.0
  description: Use the contact lists API to create and manage contact lists.
  x-hubspot-introduction: Use the contact lists API to create and manage contact lists.
  x-hubspot-api-use-case: >-
    Retrieve a contact list by ID to bring that contact data into your external
    system.
servers:
  - url: https://api.hubapi.com
    description: HubSpot API Server
security: []
paths:
  /contacts/v1/contact/createOrUpdate/email/{contact_email}:
    post:
      summary: Create or update a contact by email
      description: >-
        The _create or update a contact_ endpoint is used to create a new
        HubSpot contact or update an existing one. Use case for this endpoint:
        This method is useful when syncing changes to contacts in other CRMs
        with your HubSpot contacts.
      operationId: postcontactsv1contactcreateOrUpdateemailcontactemail
      parameters:
        - name: contact_email
          in: path
          required: true
          description: The email address of the contact to create or update.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - properties
              properties:
                properties:
                  type: array
                  description: List of contact properties for the new contact.
                  items:
                    type: object
                    properties:
                      property:
                        type: string
                      value:
                        type: string
      responses:
        '200':
          description: >-
            Successful response - The _create or update a contact_ endpoint is
            used to create a new HubSpot contact or update an existing one
          content:
            application/json:
              schema:
                type: object
              examples:
                example1:
                  summary: Create or update a contact by email - Example 1
                  value:
                    vid: 3234574
                    isNew: false
      security:
        - oauth2:
            - crm.objects.contacts.write
        - oauth2_legacy: []
        - private_apps:
            - crm.objects.contacts.write
        - private_apps_legacy: []
components: {}

````