Skip to main content
PATCH
/
v1
/
customers
/
external
/
{external_id}
Go (SDK)
package main

import(
	"context"
	"os"
	polargo "github.com/polarsource/polar-go"
	"github.com/polarsource/polar-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := polargo.New(
        polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
    )

    res, err := s.Customers.UpdateExternal(ctx, "<id>", components.CustomerUpdateExternalID{
        Email: polargo.Pointer("customer@example.com"),
        Name: polargo.Pointer("John Doe"),
        BillingAddress: &components.AddressInput{
            Country: components.AddressInputCountryAlpha2InputUs,
        },
        Locale: polargo.Pointer("en"),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.Customer != nil {
        switch res.Customer.Type {
            case components.CustomerUnionTypeIndividual:
                // res.Customer.CustomerIndividual is populated
            case components.CustomerUnionTypeTeam:
                // res.Customer.CustomerTeam is populated
        }

    }
}
{
  "id": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "modified_at": "2023-11-07T05:31:56Z",
  "metadata": {},
  "email": "<string>",
  "email_verified": true,
  "type": "<string>",
  "name": "John Doe",
  "billing_address": {
    "country": "AD",
    "line1": "<string>",
    "line2": "<string>",
    "postal_code": "<string>",
    "city": "<string>",
    "state": "<string>"
  },
  "tax_id": {
    "[0]": "<string>"
  },
  "organization_id": "<string>",
  "deleted_at": "2023-11-07T05:31:56Z",
  "avatar_url": "<string>",
  "external_id": "usr_1337",
  "locale": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://polar.sh/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

You can generate an Organization Access Token from your organization's settings.

Path Parameters

external_id
string
required

The customer external ID.

Body

application/json
metadata
Metadata · object

Key-value object allowing you to store additional information.

The key must be a string with a maximum length of 40 characters. The value must be either:

  • A string with a maximum length of 500 characters
  • An integer
  • A floating-point number
  • A boolean

You can store up to 50 key-value pairs.

email
string<email> | null

The email address of the customer. This must be unique within the organization.

Example:

"customer@example.com"

name
string | null

The name of the customer.

Maximum string length: 256
Example:

"John Doe"

billing_address
AddressInput · object
tax_id
string | null
locale
string | null

Locale of the customer, given as an IETF BCP 47 language tag. Supported: language code (e.g. en) or language + region (e.g. en-US). If null or unsupported, the locale will default to en.

Pattern: ^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-[0-9]{3})?$
Example:

"en"

Response

Customer updated.

A customer in an organization.

id
string<uuid4>
required

The ID of the customer.

Example:

"992fae2a-2a17-4b7a-8d9e-e287cf90131b"

created_at
string<date-time>
required

Creation timestamp of the object.

modified_at
string<date-time> | null
required

Last modification timestamp of the object.

metadata
object
required
email
string
required

The email address of the customer. This must be unique within the organization.

Example:

"customer@example.com"

email_verified
boolean
required

Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address.

Example:

true

type
string
required

The type of customer.

Allowed value: "individual"
Example:

"individual"

name
string | null
required

The name of the customer.

Example:

"John Doe"

billing_address
Address · object
required
tax_id
Tax Id · object
required
organization_id
string<uuid4>
required

The ID of the organization owning the customer.

Example:

"1dbfc517-0bbf-4301-9ba8-555ca42b9737"

deleted_at
string<date-time> | null
required

Timestamp for when the customer was soft deleted.

avatar_url
string
required
Example:

"https://www.gravatar.com/avatar/xxx?d=404"

external_id
string | null

The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.

Example:

"usr_1337"

locale
string | null