Skip to content

Create an account

client.Account.New(ctx, body) (*AccountCreateResponse, error)
POST/v1/accounts

Creates a new account record. The $name field is required.

Lightfield automatically enriches the account in the background unless skipEnrichment is true; a $website improves the match. The $howTheyMakeMoney and $accountStatus fields are read-only and cannot be set via the API. The $opportunity, $task, $note, and $meeting relationships are also read-only — manage them via the $account relationship on the opportunity or task, the $account/$opportunity note relationships, or via the meeting’s $contact attendees that belong to this account.

Supports idempotency via the Idempotency-Key header.

To avoid duplicates, we recommend a find-or-create pattern — use list filtering to check if a record exists before creating.

Required scope: accounts:create

Rate limit category: Write

ParametersExpand Collapse
body AccountNewParams
Fields param.Field[map[string, AccountNewParamsFieldUnion]]

Field values for the new account. System fields use a $ prefix (e.g. $name, $website); custom attributes use their bare slug (e.g. tier, renewalDate). Required: $name (string). Fields of type SINGLE_SELECT or MULTI_SELECT accept either an option ID or label from the field’s typeConfiguration.options — call the definitions endpoint to discover available fields and options. See Fields and relationships for value type details.

Read definitions for the object type’s configured $pipeline and $stage fields and options. See Pipelines and stages for write rules.

map[string, AccountNewParamsFieldUnion]
One of the following:
string
float64
bool
type AccountNewParamsFieldArray []string
type AccountNewParamsFieldAddress struct{…}
City stringOptional

City name.

Country stringOptional

2-letter ISO 3166-1 alpha-2 country code.

Latitude float64Optional

Latitude coordinate.

Longitude float64Optional

Longitude coordinate.

PostalCode stringOptional

Postal or ZIP code.

State stringOptional

State or province.

Street stringOptional

Street address line 1.

Street2 stringOptional

Street address line 2.

type AccountNewParamsFieldFullName struct{…}
FirstName stringOptional

The contact’s first name.

LastName stringOptional

The contact’s last name.

Relationships param.Field[map[string, AccountNewParamsRelationshipUnion]]Optional

Relationships to set on the new account. System relationships use a $ prefix (e.g. $owner, $contact); custom relationships use their bare slug. Each value is a single entity ID or an array of IDs. Call the definitions endpoint to list available relationship keys.

map[string, AccountNewParamsRelationshipUnion]
One of the following:
string
type AccountNewParamsRelationshipArray []string
SkipEnrichment param.Field[bool]Optional

Skip background data enrichment for this account creation. The account summary and how-they-make-money field are still generated. Defaults to false.

ReturnsExpand Collapse
type AccountCreateResponse struct{…}
ID string

Unique identifier for the entity.

CreatedAt string

ISO 8601 timestamp of when the entity was created.

Fields map[string, AccountCreateResponseField]

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $email); custom attributes use their bare slug.

Value AccountCreateResponseFieldValueUnion

The field value, or null if unset.

One of the following:
string
float64
bool
type AccountCreateResponseFieldValueArray []string
type AccountCreateResponseFieldValueAddress struct{…}
City stringOptional

City name.

Country stringOptional

2-letter ISO 3166-1 alpha-2 country code.

Latitude float64Optional

Latitude coordinate.

Longitude float64Optional

Longitude coordinate.

PostalCode stringOptional

Postal or ZIP code.

State stringOptional

State or province.

Street stringOptional

Street address line 1.

Street2 stringOptional

Street address line 2.

type AccountCreateResponseFieldValueFullName struct{…}
FirstName stringOptional

The contact’s first name.

LastName stringOptional

The contact’s last name.

ValueType string

The data type of the field.

One of the following:
const AccountCreateResponseFieldValueTypeAddress AccountCreateResponseFieldValueType = "ADDRESS"
const AccountCreateResponseFieldValueTypeCheckbox AccountCreateResponseFieldValueType = "CHECKBOX"
const AccountCreateResponseFieldValueTypeCurrency AccountCreateResponseFieldValueType = "CURRENCY"
const AccountCreateResponseFieldValueTypeDatetime AccountCreateResponseFieldValueType = "DATETIME"
const AccountCreateResponseFieldValueTypeEmail AccountCreateResponseFieldValueType = "EMAIL"
const AccountCreateResponseFieldValueTypeFullName AccountCreateResponseFieldValueType = "FULL_NAME"
const AccountCreateResponseFieldValueTypeMarkdown AccountCreateResponseFieldValueType = "MARKDOWN"
const AccountCreateResponseFieldValueTypeMultiSelect AccountCreateResponseFieldValueType = "MULTI_SELECT"
const AccountCreateResponseFieldValueTypeNumber AccountCreateResponseFieldValueType = "NUMBER"
const AccountCreateResponseFieldValueTypeSingleSelect AccountCreateResponseFieldValueType = "SINGLE_SELECT"
const AccountCreateResponseFieldValueTypeSocialHandle AccountCreateResponseFieldValueType = "SOCIAL_HANDLE"
const AccountCreateResponseFieldValueTypeTelephone AccountCreateResponseFieldValueType = "TELEPHONE"
const AccountCreateResponseFieldValueTypeText AccountCreateResponseFieldValueType = "TEXT"
const AccountCreateResponseFieldValueTypeURL AccountCreateResponseFieldValueType = "URL"
const AccountCreateResponseFieldValueTypeHTML AccountCreateResponseFieldValueType = "HTML"
Relationships map[string, AccountCreateResponseRelationship]

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact). A self-referential relationship keeps its merged values and includes optional directional values. List filters select the current record’s role with :asSource or :asDestination, for example ?parent:asSource[contains]=account_id.

Cardinality string

Whether the relationship is has_one or has_many.

ObjectType string

The type of the related object (e.g. account, contact).

Values []string

IDs of the related entities.

Directions AccountCreateResponseRelationshipDirectionsOptional

Directional values for a self-referential relationship. List filters use the relationship key with :asSource or :asDestination; writes continue to use the bare key.

AsDestination AccountCreateResponseRelationshipDirectionsAsDestination

The current record is the destination (incoming) endpoint.

Cardinality string

Whether this endpoint direction is HAS_ONE or HAS_MANY.

One of the following:
const AccountCreateResponseRelationshipDirectionsAsDestinationCardinalityHasOne AccountCreateResponseRelationshipDirectionsAsDestinationCardinality = "HAS_ONE"
const AccountCreateResponseRelationshipDirectionsAsDestinationCardinalityHasMany AccountCreateResponseRelationshipDirectionsAsDestinationCardinality = "HAS_MANY"
Values []string

IDs of the related entities in this direction.

AsSource AccountCreateResponseRelationshipDirectionsAsSource

The current record is the source (outgoing) endpoint.

Cardinality string

Whether this endpoint direction is HAS_ONE or HAS_MANY.

One of the following:
const AccountCreateResponseRelationshipDirectionsAsSourceCardinalityHasOne AccountCreateResponseRelationshipDirectionsAsSourceCardinality = "HAS_ONE"
const AccountCreateResponseRelationshipDirectionsAsSourceCardinalityHasMany AccountCreateResponseRelationshipDirectionsAsSourceCardinality = "HAS_MANY"
Values []string

IDs of the related entities in this direction.

UpdatedAt string

ISO 8601 timestamp of when the entity was last updated, or null.

ExternalID stringOptional

External identifier for the entity, or null if unset.

Create an account

package main

import (
  "context"
  "fmt"

  "github.com/Lightfld/lightfield-go"
  "github.com/Lightfld/lightfield-go/option"
)

func main() {
  client := githubcomlightfldlightfieldgo.NewClient(
    option.WithAPIKey("My API Key"),
  )
  accountCreateResponse, err := client.Account.New(context.TODO(), githubcomlightfldlightfieldgo.AccountNewParams{
    Fields: map[string]githubcomlightfldlightfieldgo.AccountNewParamsFieldUnion{
    "foo": githubcomlightfldlightfieldgo.AccountNewParamsFieldUnion{
      OfString: githubcomlightfldlightfieldgo.String("string"),
    },
    },
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", accountCreateResponse.ID)
}
{
  "id": "id",
  "createdAt": "createdAt",
  "fields": {
    "foo": {
      "value": "string",
      "valueType": "ADDRESS"
    }
  },
  "httpLink": "httpLink",
  "relationships": {
    "foo": {
      "cardinality": "cardinality",
      "objectType": "objectType",
      "values": [
        "string"
      ],
      "directions": {
        "asDestination": {
          "cardinality": "HAS_ONE",
          "values": [
            "string"
          ]
        },
        "asSource": {
          "cardinality": "HAS_ONE",
          "values": [
            "string"
          ]
        }
      }
    }
  },
  "updatedAt": "updatedAt",
  "externalId": "externalId"
}
Returns Examples
{
  "id": "id",
  "createdAt": "createdAt",
  "fields": {
    "foo": {
      "value": "string",
      "valueType": "ADDRESS"
    }
  },
  "httpLink": "httpLink",
  "relationships": {
    "foo": {
      "cardinality": "cardinality",
      "objectType": "objectType",
      "values": [
        "string"
      ],
      "directions": {
        "asDestination": {
          "cardinality": "HAS_ONE",
          "values": [
            "string"
          ]
        },
        "asSource": {
          "cardinality": "HAS_ONE",
          "values": [
            "string"
          ]
        }
      }
    }
  },
  "updatedAt": "updatedAt",
  "externalId": "externalId"
}