Documentation Index

Fetch the complete documentation index at: https://docs.supermetrics.com/llms.txt

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

Get a blend by ID

Prev Next
Get
/v1/teams/{team_id}/data-blending/blends/{blend_id}

Returns a single blend by ID, including all active data sources.

Security
HTTP
Type bearer

Bearer token authentication. Include the token in the Authorization header: Authorization: Bearer <your-token>

Path parameters
team_id
integer (int64) Required

ID of the team

Minimum1
Maximum9223372036854776000
Example936506
blend_id
integer (int64) Required

ID of the blend to retrieve

Minimum1
Maximum9223372036854776000
Example569
Responses
200

Blend retrieved successfully

{
  "meta": {
    "request_id": "RWmTkuYcXdfdjvA7xaDnusTYu8u8AMXG"
  },
  "data": {
    "blend_id": 569,
    "blend_uuid": "71bc0582-31b5-11f1-a55c-4201ac182030",
    "type": "join",
    "display_name": "Example Blend",
    "description": "Example blend description",
    "modified_time_utc": "2026-04-07T10:00:00Z",
    "last_modify_user_email": "user@supermetrics.com",
    "blended_data_sources": {
      "items": [
        {
          "blend_data_source_id": 1,
          "blend_id": 569,
          "data_source_id": "GA4",
          "display_name": "Google Analytics 4",
          "accounts": {
            "items": []
          },
          "segments": {
            "items": []
          },
          "data_source_settings": {
            "items": []
          },
          "report_type_settings": {
            "items": []
          }
        },
        {
          "blend_data_source_id": 2,
          "blend_id": 569,
          "data_source_id": "GADS",
          "display_name": "Google Ads",
          "accounts": {
            "items": []
          },
          "segments": {
            "items": []
          },
          "data_source_settings": {
            "items": []
          },
          "report_type_settings": {
            "items": []
          }
        }
      ]
    },
    "config": {
      "query_table": {
        "blend_data_source_id": 1
      },
      "joins": {
        "items": [
          {
            "join_table": {
              "blend_data_source_id": 2
            },
            "type": "left",
            "conditions": {
              "items": [
                {
                  "operator": "=",
                  "left": {
                    "blend_data_source_id": 1,
                    "datasource_field_name": "Date",
                    "datasource_field_display_name": "Date",
                    "datasource_field_type": "dim",
                    "datasource_field_data_type": "string.time.date",
                    "field_source": "standard",
                    "meta": null
                  },
                  "right": {
                    "blend_data_source_id": 2,
                    "datasource_field_name": "Date",
                    "datasource_field_display_name": "Date",
                    "datasource_field_type": "dim",
                    "datasource_field_data_type": "string.time.date",
                    "field_source": "standard",
                    "meta": null
                  }
                }
              ]
            }
          }
        ]
      },
      "fields": {
        "items": [
          {
            "blend_field_name": "impressions",
            "blend_field_display_name": "Impressions",
            "blend_field_type": "met",
            "blend_field_data_type": "int.number.value",
            "blend_datasource_fields": {
              "items": [
                {
                  "blend_data_source_id": 1,
                  "datasource_field_name": "Impressions",
                  "datasource_field_display_name": "Impressions",
                  "datasource_field_type": "met",
                  "datasource_field_data_type": "int.number.value",
                  "field_source": "standard",
                  "meta": null
                }
              ]
            }
          }
        ]
      }
    }
  }
}
Expand All
object

Success envelope wrapping a single blend.

meta
object (Meta)

Metadata included in every API response.

request_id
string

Unique identifier for the request, for tracking and debugging.

Min length8
Max length64
Pattern^[A-Za-z0-9_-]+$
ExampleBXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN
data
object (BlendOutput)

A blend with its fields and data sources, as returned for a single-blend read.

Example{ "blend_id": 569, "blend_uuid": "71bc0582-31b5-11f1-a55c-4201ac182030", "type": "union", "display_name": "My Blend", "description": "Description of the blend", "modified_time_utc": "2026-04-07T10:00:00Z", "last_modify_user_email": "user@supermetrics.com" }
blend_id
integer (int64)

Blend ID.

Minimum1
Maximum9223372036854776000
Example569
blend_uuid
string (uuid)

Blend UUID.

Max length36
Example71bc0582-31b5-11f1-a55c-4201ac182030
type
string

Blend type.

Valid values[ "join", "union" ]
Exampleunion
display_name
string

Display name of the blend.

Max length300
Pattern^.+
ExampleMy Blend
description
string | null

Description of the blend.

Max length300
Pattern^.+
ExampleDescription of the blend
modified_time_utc
string (date-time)

Timestamp of the last modification, in UTC. Serialized with a numeric offset (e.g. "+0000") rather than a trailing "Z".

Max length32
Example2026-04-07T10:00:00Z
last_modify_user_email
string (email)

Email of the user who last modified the blend.

Max length254
Exampleuser@supermetrics.com
blended_data_sources
object

Data sources included in this blend.

items
Array of object (BlendedDataSourceOutput)

Data source items.

Max items50
Example[]
object

A data source included in the blend response, with field mappings and account details.

blend_data_source_id
integer (int64)

Internal ID of the blended data source.

Minimum1
Maximum9223372036854776000
Example1
blend_id
integer (int64)

ID of the blend this data source belongs to.

Minimum1
Maximum9223372036854776000
Example569
data_source_id
string

Data source identifier.

Max length100
Pattern^[A-Za-z0-9_]+
ExampleGA4
display_name
string

Display name of the data source.

Max length300
Pattern^.+
ExampleGoogle Analytics 4
data_source_settings
object

Settings applied when querying this data source.

items
Array of object

Setting items.

Max items100
Example[]
object

A single data source setting.

accounts
object

Accounts queried from this data source.

items
Array of object

Account items.

Max items1000
Example[]
object

An account queried from this data source.

segments
object

Segments applied when querying this data source.

items
Array of object

Segment items.

Max items100
Example[]
object

A segment applied when querying this data source.

report_type
string | null

Report type ID.

Max length100
Pattern^.+
Exampleorganic_search
report_type_settings
object

Settings for the selected report type.

items
Array of object

Report type setting items.

Max items100
Example[]
object

A single setting for the selected report type.

logo_url
string (uri)

Data source logo URL.

Max length2048
Examplehttps://cdn.supermetrics.com/images/datasource-logos/GA4.png
config
object (BlendConfigOutput)

Field mappings and join configuration for the blend (response). Union blends contain only fields; join blends also include query_table and joins.

Example{}
query_table
object

Primary (left-hand) data source — present for join blends only.

Example{}
blend_data_source_id
integer (int64) | null

Internal ID of the primary data source.

Minimum1
Maximum9223372036854776000
Example146715
joins
object

Join definitions — present for join blends only.

items
Array of object (BlendJoinOutput)

Join items.

Max items50
Example[]
object

Join definition between two data sources (response).

join_table
object

Data source joined with the primary table.

Example{}
blend_data_source_id
integer (int64) | null

Internal ID of the data source to join.

Minimum1
Maximum9223372036854776000
Example146715
type
string

Join type.

Valid values[ "inner", "left", "right", "full outer" ]
Exampleleft
conditions
object

Conditions that define how the two data sources are joined.

items
Array of object (BlendJoinConditionOutput)

Condition items.

Max items50
Example[]
object

A condition comparing one field from each data source (response).

operator
string

Comparison operator.

Valid values[ "=" ]
Example=
left
object

Field from the primary table.

Example{}
blend_data_source_id
integer (int64) | null

Internal ID of the blended data source.

Minimum1
Maximum9223372036854776000
Example146715
datasource_field_name
string

Field name as defined by the data source.

Max length255
Pattern^.+
ExampleDate
datasource_field_display_name
string

Display name of the field.

Max length255
Pattern^.+
ExampleDate
datasource_field_type
string

Field type: dim (dimension) or met (metric).

Valid values[ "dim", "met" ]
Exampledim
datasource_field_data_type
string

Data type of the field (e.g. string.time.date, int.number.value).

Max length100
Pattern^.+
Examplestring.text.value
field_source
string

Origin of the field: standard = from the data source, transformation = computed field, data_source_account_custom = account-level custom field.

Valid values[ "standard", "transformation", "data_source_account_custom" ]
Examplestandard
meta
object | null

Optional metadata, e.g. account-level overrides.

Example{}
right
object

Field from the join table.

Example{}
blend_data_source_id
integer (int64) | null

Internal ID of the blended data source.

Minimum1
Maximum9223372036854776000
Example146715
datasource_field_name
string

Field name as defined by the data source.

Max length255
Pattern^.+
ExampleDate
datasource_field_display_name
string

Display name of the field.

Max length255
Pattern^.+
ExampleDate
datasource_field_type
string

Field type: dim (dimension) or met (metric).

Valid values[ "dim", "met" ]
Exampledim
datasource_field_data_type
string

Data type of the field (e.g. string.time.date, int.number.value).

Max length100
Pattern^.+
Examplestring.text.value
field_source
string

Origin of the field: standard = from the data source, transformation = computed field, data_source_account_custom = account-level custom field.

Valid values[ "standard", "transformation", "data_source_account_custom" ]
Examplestandard
meta
object | null

Optional metadata, e.g. account-level overrides.

Example{}
fields
object

Field definitions for the blend.

items
Array of object (BlendFieldOutput)

Field items.

Max items1000
Example[]
object

A blend field and its mapping to fields in each data source (response).

blend_field_name
string

Unique name of the blend field — cannot be changed once created.

Max length255
Pattern^.+
Exampleimpressions
blend_field_display_name
string

Display name of the blend field.

Max length255
Pattern^.+
ExampleImpressions
blend_field_type
string

Field type: dim (dimension) or met (metric).

Valid values[ "dim", "met" ]
Examplemet
blend_field_data_type
string

Data type of the field (e.g. string.time.date, int.number.value).

Max length100
Pattern^.+
Exampleint.number.value
blend_datasource_fields
object

Per-data-source field mappings for this blend field.

items
Array of object (BlendDatasourceFieldRefOutput)

Datasource field items.

Max items50
Example[]
object

A field reference within a data source (response).

blend_data_source_id
integer (int64) | null

Internal ID of the blended data source.

Minimum1
Maximum9223372036854776000
Example146715
datasource_field_name
string

Field name as defined by the data source.

Max length255
Pattern^.+
ExampleDate
datasource_field_display_name
string

Display name of the field.

Max length255
Pattern^.+
ExampleDate
datasource_field_type
string

Field type: dim (dimension) or met (metric).

Valid values[ "dim", "met" ]
Exampledim
datasource_field_data_type
string

Data type of the field (e.g. string.time.date, int.number.value).

Max length100
Pattern^.+
Examplestring.text.value
field_source
string

Origin of the field: standard = from the data source, transformation = computed field, data_source_account_custom = account-level custom field.

Valid values[ "standard", "transformation", "data_source_account_custom" ]
Examplestandard
meta
object | null

Optional metadata, e.g. account-level overrides.

Example{}
400

Bad request - invalid parameters

Headers
X-RateLimit-Limit
integer
Request limit per hour
Minimum1
Maximum10000
Example5000
X-RateLimit-Remaining
integer
Remaining requests in current window
Minimum0
Maximum10000
Example4999
Access-Control-Allow-Origin
string
CORS header
Valid values[ "*" ]
Max length255
Example*
{
  "meta": {
    "request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
  },
  "error": {
    "code": "BAD_REQUEST",
    "message": "The request was invalid."
  }
}
Expand All
object

Standard envelope returned by all error (4xx/5xx) responses.

meta
object (Meta)

Metadata included in every API response.

request_id
string

Unique identifier for the request, for tracking and debugging.

Min length8
Max length64
Pattern^[A-Za-z0-9_-]+$
ExampleBXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN
error
object (Error)

Machine- and human-readable detail for a failed request.

code
string

Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.

Max length100
Pattern^[A-Z][A-Z0-9_]*$
ExampleBAD_REQUEST
message
string

Short, human-readable summary of the error.

Max length255
Pattern^.+$
ExampleThe request was invalid.
description
string

Optional longer explanation specific to this occurrence.

Max length2048
ExampleThe field 'display_name' must not be empty.
401

Unauthorized

Headers
WWW-Authenticate
string
Bearer token required
Max length255
Pattern^Bearer.*
X-RateLimit-Limit
integer
Request limit per hour
Minimum1
Maximum10000
Example5000
X-RateLimit-Remaining
integer
Remaining requests in current window
Minimum0
Maximum10000
Example4999
Access-Control-Allow-Origin
string
CORS header
Valid values[ "*" ]
Max length255
Example*
{
  "meta": {
    "request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
  },
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Authentication is required."
  }
}
Expand All
object

Standard envelope returned by all error (4xx/5xx) responses.

meta
object (Meta)

Metadata included in every API response.

request_id
string

Unique identifier for the request, for tracking and debugging.

Min length8
Max length64
Pattern^[A-Za-z0-9_-]+$
ExampleBXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN
error
object (Error)

Machine- and human-readable detail for a failed request.

code
string

Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.

Max length100
Pattern^[A-Z][A-Z0-9_]*$
ExampleBAD_REQUEST
message
string

Short, human-readable summary of the error.

Max length255
Pattern^.+$
ExampleThe request was invalid.
description
string

Optional longer explanation specific to this occurrence.

Max length2048
ExampleThe field 'display_name' must not be empty.
403

Access forbidden

Headers
X-RateLimit-Limit
integer
Request limit per hour
Minimum1
Maximum10000
Example5000
X-RateLimit-Remaining
integer
Remaining requests in current window
Minimum0
Maximum10000
Example4999
Access-Control-Allow-Origin
string
CORS header
Valid values[ "*" ]
Max length255
Example*
{
  "meta": {
    "request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
  },
  "error": {
    "code": "FORBIDDEN",
    "message": "You do not have access to this resource."
  }
}
Expand All
object

Standard envelope returned by all error (4xx/5xx) responses.

meta
object (Meta)

Metadata included in every API response.

request_id
string

Unique identifier for the request, for tracking and debugging.

Min length8
Max length64
Pattern^[A-Za-z0-9_-]+$
ExampleBXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN
error
object (Error)

Machine- and human-readable detail for a failed request.

code
string

Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.

Max length100
Pattern^[A-Z][A-Z0-9_]*$
ExampleBAD_REQUEST
message
string

Short, human-readable summary of the error.

Max length255
Pattern^.+$
ExampleThe request was invalid.
description
string

Optional longer explanation specific to this occurrence.

Max length2048
ExampleThe field 'display_name' must not be empty.
404

Blend not found

object
message
string

Not found

Max length255
Pattern^.+$
code
string

NOT_FOUND

Valid values[ "NOT_FOUND" ]
429

Too Many Requests

Headers
X-RateLimit-Limit
integer
Request limit per hour
Minimum1
Maximum10000
Example5000
X-RateLimit-Remaining
integer
Remaining requests in current window
Minimum0
Maximum10000
Example4999
Retry-After
integer
Seconds until rate limit resets
Minimum1
Maximum86400
Example3600
Access-Control-Allow-Origin
string
CORS header
Valid values[ "*" ]
Max length255
Example*
{
  "meta": {
    "request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
  },
  "error": {
    "code": "TOO_MANY_REQUESTS",
    "message": "Rate limit exceeded. Retry later."
  }
}
Expand All
object

Standard envelope returned by all error (4xx/5xx) responses.

meta
object (Meta)

Metadata included in every API response.

request_id
string

Unique identifier for the request, for tracking and debugging.

Min length8
Max length64
Pattern^[A-Za-z0-9_-]+$
ExampleBXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN
error
object (Error)

Machine- and human-readable detail for a failed request.

code
string

Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.

Max length100
Pattern^[A-Z][A-Z0-9_]*$
ExampleBAD_REQUEST
message
string

Short, human-readable summary of the error.

Max length255
Pattern^.+$
ExampleThe request was invalid.
description
string

Optional longer explanation specific to this occurrence.

Max length2048
ExampleThe field 'display_name' must not be empty.
500

Internal server error

Headers
Access-Control-Allow-Origin
string
CORS header
Valid values[ "*" ]
Max length255
Example*
{
  "meta": {
    "request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
  },
  "error": {
    "code": "INTERNAL_SERVER_ERROR",
    "message": "An unexpected error occurred."
  }
}
Expand All
object

Standard envelope returned by all error (4xx/5xx) responses.

meta
object (Meta)

Metadata included in every API response.

request_id
string

Unique identifier for the request, for tracking and debugging.

Min length8
Max length64
Pattern^[A-Za-z0-9_-]+$
ExampleBXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN
error
object (Error)

Machine- and human-readable detail for a failed request.

code
string

Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.

Max length100
Pattern^[A-Z][A-Z0-9_]*$
ExampleBAD_REQUEST
message
string

Short, human-readable summary of the error.

Max length255
Pattern^.+$
ExampleThe request was invalid.
description
string

Optional longer explanation specific to this occurrence.

Max length2048
ExampleThe field 'display_name' must not be empty.