[Public Customer] Read a customer.

Get details for a customer, such as its email, and list of available templates, from the WeTransform customer UUID.

GET
https://api.staging.wetransform.com/customer/{customerId}
Parameter Description Type/Regex
{customerId}

The customer UUID to read

[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}

Responses

200 OK
ResponseSuccess CustomerPublicCustomerResponse
Property / Description
success
boolean

Always true on successful responses.

Sample value: true
payload
object

Payload of the requested resource.

payload.customer_id *
string

Customer ID (on WeTransform side)

payload.templates
array
payload.templates[].template_handle *
string

The template handle.

Sample value: "furniture"
payload.external_id *
string

Customer ID on receiver's side.

This customer ID will be used when signing requests while connecting a customer through the Embed API.

Sample value: "1234"
payload.name *
string

Customer's name

Sample value: "Michael Jackson"
payload.email *
string

Customer's email.

Useful if WeTransform is used in no-code mode, as customer will need to authenticate through a code sent by email.

Sample value: "mickael@jackson.com"
payload.language *
string

The customer's preferred language.

Possible values: fr, en

Sample value: "fr"
product *
object

A product needed.

Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.

product.requirement *
string

Whether the user requested a features s/he doesn't have access to, or the user needs greater limits. Possible values: permission, limitation

Sample value: "permission"
product.permission *
object

The required permission.

You will need to know which permission is needed in order to fill up search filters in the shop.

product.permission.description *
string

A human-understandable name for the permission.

product.permission.name
string

A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).

Possible values depend on the context, check the domain's metadata endpoint.

Sample value: "X_SOURCE_FORMAT_XML"
product.limitation_type *
string

The limitation that needs to be increased (ex: number of columns).

product.limitation_needed_value *
integer

The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).

product.limitation_current_value *
integer

The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).

product.limitation_object *
object

The limitation type in a readable format, for example, "lines per file".

product.is_cta *
boolean

Whether a Call To Action should be displayed.

It may not be displayed if:

  • the limitation is on the membership role
  • the limitation is on the customer role
  • the user is a sender
debug
array

Debug information.

Contains logs about business logic explaining state of the response payload.

Provided in development & admin modes only.

Properties suffixed with * are nullable.

Example Copy
{
    "success": true,
    "payload": {
        "customer_id": null,
        "templates": [
            {
                "template_handle": "furniture",
                "user_metadata": [
                    {
                        "name": "internal_code",
                        "value": "TMPLT_001"
                    },
                    {
                        "name": "uuid",
                        "value": "f4b3e2b5-4b2e-4d25-8f1b-2d1f2b3e4f5a"
                    }
                ]
            }
        ],
        "external_id": "1234",
        "name": "Michael Jackson",
        "email": "mickael@jackson.com",
        "language": "fr",
        "user_metadata": [
            {
                "name": "type",
                "value": "human_resources"
            },
            {
                "name": "department",
                "value": "accounting"
            }
        ]
    },
    "product": {
        "requirement": "permission",
        "permission": {
            "name": "X_SOURCE_FORMAT_XML",
            "description": "Can import XML files"
        },
        "limitation_type": null,
        "limitation_needed_value": null,
        "limitation_current_value": null,
        "limitation_object": null,
        "is_cta": false
    },
    "debug": []
}
Authentication required.

User must be authenticated to access the resource.

This response is received when the authorization header does not contain a valid authentication token.

It mostly happens because the current access_token has expired, and it needs to be renewed using a refresh_token.

Property / Description
success
boolean

Always false on error responses.

Sample value: false
payload
object

Context about the error, if any.

product *
object

A product needed.

Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.

product.requirement *
string

Whether the user requested a features s/he doesn't have access to, or the user needs greater limits. Possible values: permission, limitation

Sample value: "permission"
product.permission *
object

The required permission.

You will need to know which permission is needed in order to fill up search filters in the shop.

product.permission.description *
string

A human-understandable name for the permission.

product.permission.name
string

A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).

Possible values depend on the context, check the domain's metadata endpoint.

Sample value: "X_SOURCE_FORMAT_XML"
product.limitation_type *
string

The limitation that needs to be increased (ex: number of columns).

product.limitation_needed_value *
integer

The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).

product.limitation_current_value *
integer

The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).

product.limitation_object *
object

The limitation type in a readable format, for example, "lines per file".

product.is_cta *
boolean

Whether a Call To Action should be displayed.

It may not be displayed if:

  • the limitation is on the membership role
  • the limitation is on the customer role
  • the user is a sender
debug
array

Debug information.

Contains logs about business logic explaining state of the response payload.

Provided in development & admin modes only.

Properties suffixed with * are nullable.

Example Copy
{
    "success": false,
    "payload": [],
    "product": {
        "requirement": "permission",
        "permission": {
            "name": "X_SOURCE_FORMAT_XML",
            "description": "Can import XML files"
        },
        "limitation_type": null,
        "limitation_needed_value": null,
        "limitation_current_value": null,
        "limitation_object": null,
        "is_cta": false
    },
    "debug": []
}
Access denied.

User is well authenticated, but not authorized to access the resource.

It can happen if user is trying to use a feature that s/he didn't pay for, access someone else's resource, etc.

These issues are normally fixed by the frontend, which should render features and resources user has access to.

Property / Description
success
boolean

Always false on error responses.

Sample value: false
payload
object

Context about the error, if any.

product *
object

A product needed.

Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.

product.requirement *
string

Whether the user requested a features s/he doesn't have access to, or the user needs greater limits. Possible values: permission, limitation

Sample value: "permission"
product.permission *
object

The required permission.

You will need to know which permission is needed in order to fill up search filters in the shop.

product.permission.description *
string

A human-understandable name for the permission.

product.permission.name
string

A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).

Possible values depend on the context, check the domain's metadata endpoint.

Sample value: "X_SOURCE_FORMAT_XML"
product.limitation_type *
string

The limitation that needs to be increased (ex: number of columns).

product.limitation_needed_value *
integer

The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).

product.limitation_current_value *
integer

The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).

product.limitation_object *
object

The limitation type in a readable format, for example, "lines per file".

product.is_cta *
boolean

Whether a Call To Action should be displayed.

It may not be displayed if:

  • the limitation is on the membership role
  • the limitation is on the customer role
  • the user is a sender
debug
array

Debug information.

Contains logs about business logic explaining state of the response payload.

Provided in development & admin modes only.

Properties suffixed with * are nullable.

Example Copy
{
    "success": false,
    "payload": [],
    "product": {
        "requirement": "permission",
        "permission": {
            "name": "X_SOURCE_FORMAT_XML",
            "description": "Can import XML files"
        },
        "limitation_type": null,
        "limitation_needed_value": null,
        "limitation_current_value": null,
        "limitation_object": null,
        "is_cta": false
    },
    "debug": []
}

Interactive Console

Please login in order to access the console.

© 2026