Skip to content
EntitlerDocs

PUT/v1/customers/{external_id}

Register a customer

Returns the customer with this external ID, creating it if it does not exist; me names a customer credential's own customer. Changing name, email or attributes of an existing customer needs customers:write or customers:profile. Needs customers:register or customers:write.

curl -X PUT 'https://api.entitler.co/v1/customers/ada' \
  -H "Authorization: Bearer $ENTITLER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"attributes":[{"key":"key","until":1,"value":"value","verified":true}],"email":"email","name":"name","target":{"environmentId":"environmentId","projectId":"projectId","teamId":"teamId"},"visitorId":"visitorId"}'

Credentials

Send any one of these:

  • Bearer token

Path parameters

NameTypeDescription
external_idrequiredstringThe customer's external ID, or me for the customer a customer token or identity token names.

Request body

object

  • attributesarray of CustomerAttributeChange
    • keystring
    • untilinteger

      at least 0; at most 18446744073709552000

    • valuestring
    • verifiedboolean
  • emailstring
  • namestring
  • targetProductTarget
    • environmentIdstring
    • projectIdstring
    • teamIdstring
  • visitorIdstring

Responses

200The RegisterCustomerResponse message.

RegisterCustomerResponse

  • createdbooleanrequired
  • customerCustomer
    • attributesarray of CustomerAttributerequired
      • keystringrequired
      • setAtintegerrequired

        at least 0; at most 18446744073709552000

      • setBycommon.Actor
        • idstringrequired
        • typecommon.ActorTyperequired

          One of ACTOR_TYPE_UNSPECIFIED, ACTOR_TYPE_USER, ACTOR_TYPE_KEY, ACTOR_TYPE_SYSTEM.

      • sourceCustomerAttributeSourcerequired

        One of CUSTOMER_ATTRIBUTE_SOURCE_UNSPECIFIED, CUSTOMER_ATTRIBUTE_SOURCE_BUSINESS, CUSTOMER_ATTRIBUTE_SOURCE_CUSTOMER.

      • stateCustomerAttributeStaterequired

        One of CUSTOMER_ATTRIBUTE_STATE_UNSPECIFIED, CUSTOMER_ATTRIBUTE_STATE_FREE_FORM, CUSTOMER_ATTRIBUTE_STATE_VALID, CUSTOMER_ATTRIBUTE_STATE_EXPIRED, CUSTOMER_ATTRIBUTE_STATE_INVALID.

      • untilinteger

        at least 0; at most 18446744073709552000

      • valuestringrequired
      • verifiedAtinteger

        at least 0; at most 18446744073709552000

      • verifiedBycommon.Actor
        • idstringrequired
        • typecommon.ActorTyperequired

          One of ACTOR_TYPE_UNSPECIFIED, ACTOR_TYPE_USER, ACTOR_TYPE_KEY, ACTOR_TYPE_SYSTEM.

    • blockedAtinteger

      at least 0; at most 18446744073709552000

    • blockedReasonCustomerBlockReasonrequired

      One of CUSTOMER_BLOCK_REASON_UNSPECIFIED, CUSTOMER_BLOCK_REASON_PAYMENT_REVERSED.

    • createdAtintegerrequired

      at least 0; at most 18446744073709552000

    • emailstring
    • environmentIdstringrequired
    • externalIdstringrequired
    • idstringrequired
    • identityProviderIdstring
    • marketIdstring
    • moneyCustomerMoneyrequired

      One of CUSTOMER_MONEY_UNSPECIFIED, CUSTOMER_MONEY_REAL, CUSTOMER_MONEY_TEST.

    • namestring
    • projectIdstringrequired
    • revisionintegerrequired

      at least 0; at most 18446744073709552000

    • trackIdstring
    • updatedAtintegerrequired

      at least 0; at most 18446744073709552000

  • ignoredAttributesarray of stringrequired

ErrorA refusal, with the HTTP status of its gRPC code.

Error

  • errorobjectrequired
    • codestringrequired
    • parametersobjectrequired

      Each value: string

    • reasonstringor nullrequired