Skip to content

Create a custom object record

client.Object.New(ctx, entitySlug, body) (*ObjectCreateResponse, error)
POST/v1/objects/{entitySlug}/values

Creates a new record for the specified custom object type.

ParametersExpand Collapse
entitySlug string

The slug of the custom object type.

body ObjectNewParams
Fields param.Field[map[string, ObjectNewParamsFieldUnion]]

Field names to values for the new record.

string
float64
bool
type ObjectNewParamsFieldArray []string
type ObjectNewParamsFieldAddress 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 ObjectNewParamsFieldFullName struct{…}
FirstName stringOptional

The contact’s first name.

LastName stringOptional

The contact’s last name.

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

Relationship names to entity ID(s) to associate.

string
type ObjectNewParamsRelationshipArray []string
ReturnsExpand Collapse
type ObjectCreateResponse struct{…}
ID string

Unique identifier for the entity.

CreatedAt string

ISO 8601 timestamp of when the entity was created.

Fields map[string, ObjectCreateResponseField]

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

Value ObjectCreateResponseFieldValueUnion

The field value, or null if unset.

One of the following:
string
float64
bool
type ObjectCreateResponseFieldValueArray []string
type ObjectCreateResponseFieldValueAddress 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 ObjectCreateResponseFieldValueFullName 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 ObjectCreateResponseFieldValueTypeAddress ObjectCreateResponseFieldValueType = "ADDRESS"
const ObjectCreateResponseFieldValueTypeCheckbox ObjectCreateResponseFieldValueType = "CHECKBOX"
const ObjectCreateResponseFieldValueTypeCurrency ObjectCreateResponseFieldValueType = "CURRENCY"
const ObjectCreateResponseFieldValueTypeDatetime ObjectCreateResponseFieldValueType = "DATETIME"
const ObjectCreateResponseFieldValueTypeEmail ObjectCreateResponseFieldValueType = "EMAIL"
const ObjectCreateResponseFieldValueTypeFullName ObjectCreateResponseFieldValueType = "FULL_NAME"
const ObjectCreateResponseFieldValueTypeMarkdown ObjectCreateResponseFieldValueType = "MARKDOWN"
const ObjectCreateResponseFieldValueTypeMultiSelect ObjectCreateResponseFieldValueType = "MULTI_SELECT"
const ObjectCreateResponseFieldValueTypeNumber ObjectCreateResponseFieldValueType = "NUMBER"
const ObjectCreateResponseFieldValueTypeSingleSelect ObjectCreateResponseFieldValueType = "SINGLE_SELECT"
const ObjectCreateResponseFieldValueTypeSocialHandle ObjectCreateResponseFieldValueType = "SOCIAL_HANDLE"
const ObjectCreateResponseFieldValueTypeTelephone ObjectCreateResponseFieldValueType = "TELEPHONE"
const ObjectCreateResponseFieldValueTypeText ObjectCreateResponseFieldValueType = "TEXT"
const ObjectCreateResponseFieldValueTypeURL ObjectCreateResponseFieldValueType = "URL"
const ObjectCreateResponseFieldValueTypeHTML ObjectCreateResponseFieldValueType = "HTML"
Relationships map[string, ObjectCreateResponseRelationship]

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact).

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.

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 a custom object record

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"),
  )
  objectCreateResponse, err := client.Object.New(
    context.TODO(),
    "entitySlug",
    githubcomlightfldlightfieldgo.ObjectNewParams{
      Fields: map[string]githubcomlightfldlightfieldgo.ObjectNewParamsFieldUnion{
      "foo": githubcomlightfldlightfieldgo.ObjectNewParamsFieldUnion{
        OfString: githubcomlightfldlightfieldgo.String("string"),
      },
      },
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", objectCreateResponse.ID)
}
{
  "id": "id",
  "createdAt": "createdAt",
  "fields": {
    "foo": {
      "value": "string",
      "valueType": "ADDRESS"
    }
  },
  "httpLink": "httpLink",
  "relationships": {
    "foo": {
      "cardinality": "cardinality",
      "objectType": "objectType",
      "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"
      ]
    }
  },
  "updatedAt": "updatedAt",
  "externalId": "externalId"
}