Bluejay Customer Traits API
The Customer Traits API from Bluejay — 5 operation(s) for customer traits.
The Customer Traits API from Bluejay — 5 operation(s) for customer traits.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bluejay-customer-traits-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bluejay Customer Traits API
description: Bluejay API
version: 0.1.0
servers:
- url: https://api.getbluejay.ai
description: Production server
security:
- apiKeyAuth: []
tags:
- name: Customer Traits
paths:
/v1/create-customer-trait:
post:
tags:
- Customer Traits
summary: Create Customer Trait
description: 'Create a new customer trait definition for an agent.
Args:
trait_request: The trait creation request data
request: FastAPI request object
auth: Authentication credentials
Returns:
CustomerTraitResponse with the created trait details'
operationId: create_customer_trait_v1_create_customer_trait_post
security:
- HTTPBearer: []
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomerTraitRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerTraitResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/customer-trait/{trait_id}:
get:
tags:
- Customer Traits
summary: Get Customer Trait
description: 'Get a specific customer trait by ID.
Args:
trait_id: UUID of the customer trait
request: FastAPI request object
auth: Authentication credentials
Returns:
CustomerTraitResponse with the trait details'
operationId: get_customer_trait_v1_customer_trait__trait_id__get
security:
- HTTPBearer: []
parameters:
- name: trait_id
in: path
required: true
schema:
type: string
format: uuid
title: Trait Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerTraitResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Customer Traits
summary: Delete Customer Trait
description: 'Delete a customer trait definition.
Args:
trait_id: UUID of the customer trait to delete
request: FastAPI request object
auth: Authentication credentials
Returns:
DeleteCustomerTraitResponse confirming the deletion'
operationId: delete_customer_trait_v1_customer_trait__trait_id__delete
security:
- HTTPBearer: []
parameters:
- name: trait_id
in: path
required: true
schema:
type: string
format: uuid
title: Trait Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteCustomerTraitResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/customer-traits:
get:
tags:
- Customer Traits
summary: Get Customer Traits
description: 'Get all customer traits, optionally filtered by agent_id.
Args:
request: FastAPI request object
agent_id: Optional agent ID to filter traits by
auth: Authentication credentials
Returns:
CustomerTraitsListResponse with list of traits and total count'
operationId: get_customer_traits_v1_customer_traits_get
security:
- HTTPBearer: []
parameters:
- name: agent_id
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
title: Agent Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerTraitsListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/update-customer-trait/{trait_id}:
put:
tags:
- Customer Traits
summary: Update Customer Trait
description: 'Update a customer trait definition.
Args:
trait_id: UUID of the customer trait to update
trait_request: The trait update request data
request: FastAPI request object
auth: Authentication credentials
Returns:
CustomerTraitResponse with the updated trait details'
operationId: update_customer_trait_v1_update_customer_trait__trait_id__put
security:
- HTTPBearer: []
parameters:
- name: trait_id
in: path
required: true
schema:
type: string
format: uuid
title: Trait Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomerTraitRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerTraitResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/generate-trait-values:
post:
tags:
- Customer Traits
summary: Generate Trait Values Endpoint
description: 'Generate trait values for each scenario for a single trait.
Request:
- scenarios: list of scenario descriptions (intents), one per scenario
- traits: exactly one trait (name + data_type)
Response:
- dict mapping scenario index -> list of trait dicts
- each trait dict has:
{
"name": , # same as the input trait name
"data_type": , # normalized data type string
"value": , # value for that scenario + trait
}
Frontend mapping:
- for scenario index i:
const traitsForScenario = res[i]; // array of trait dicts
const value = traitsForScenario.find(t => t.name === traitName)?.value;'
operationId: generate_trait_values_endpoint_v1_generate_trait_values_post
security:
- HTTPBearer: []
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateTraitValuesRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties:
type: array
items:
type: object
additionalProperties: true
title: Response Generate Trait Values Endpoint V1 Generate Trait Values Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
UpdateCustomerTraitRequest:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: Name of the trait
data_type:
anyOf:
- $ref: '#/components/schemas/TraitDataType'
- type: 'null'
description: Data type of the trait
default_value:
anyOf:
- {}
- type: 'null'
title: Default Value
description: Default value for this trait (will be converted based on data_type)
type: object
title: UpdateCustomerTraitRequest
description: Request model for updating a customer trait definition.
CreateCustomerTraitRequest:
properties:
agent_id:
type: integer
title: Agent Id
description: ID of the agent this trait belongs to
name:
type: string
title: Name
description: Name of the trait
data_type:
$ref: '#/components/schemas/TraitDataType'
description: Data type of the trait
default_value:
anyOf:
- {}
- type: 'null'
title: Default Value
description: Default value for this trait (will be converted based on data_type)
type: object
required:
- agent_id
- name
- data_type
title: CreateCustomerTraitRequest
description: Request model for creating a customer trait definition.
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
TraitDataType:
type: string
enum:
- BOOLEAN
- STRING
- DATE
- NUMBER
title: TraitDataType
description: Enum for trait data types.
CustomerTraitResponse:
properties:
id:
type: string
title: Id
description: Unique identifier for the customer trait
agent_id:
type: integer
title: Agent Id
description: ID of the agent this trait belongs to
name:
type: string
title: Name
description: Name of the trait
data_type:
$ref: '#/components/schemas/TraitDataType'
description: Data type of the trait
default_value:
anyOf:
- {}
- type: 'null'
title: Default Value
description: Default value for this trait (stored as JSONB)
created_at:
type: string
format: date-time
title: Created At
description: When the trait was created
type: object
required:
- id
- agent_id
- name
- data_type
- created_at
title: CustomerTraitResponse
description: Response model for customer trait operations.
DeleteCustomerTraitResponse:
properties:
message:
type: string
title: Message
description: Success message
deleted_trait_id:
type: string
title: Deleted Trait Id
description: ID of the deleted trait
type: object
required:
- message
- deleted_trait_id
title: DeleteCustomerTraitResponse
description: Response model for deleting a customer trait.
GenerateTraitValuesRequest:
properties:
scenarios:
items:
type: string
type: array
title: Scenarios
description: List of intents (one per scenario) to generate values for
traits:
items:
$ref: '#/components/schemas/TraitInput'
type: array
title: Traits
description: List of traits (name + data_type) to generate values for
agent_prompt:
anyOf:
- type: string
- type: 'null'
title: Agent Prompt
description: Optional agent description for context
knowledge_base:
anyOf:
- type: string
- type: 'null'
title: Knowledge Base
description: Optional knowledge base text for context
type: object
required:
- scenarios
- traits
title: GenerateTraitValuesRequest
description: 'Request: list of scenarios and list of traits; values are generated per scenario per trait.'
TraitInput:
properties:
name:
type: string
title: Name
description: Name of the trait
data_type:
$ref: '#/components/schemas/TraitDataType'
description: Data type of the trait (BOOLEAN, STRING, NUMBER, DATE)
type: object
required:
- name
- data_type
title: TraitInput
description: One trait to generate values for.
CustomerTraitsListResponse:
properties:
traits:
items:
$ref: '#/components/schemas/CustomerTraitResponse'
type: array
title: Traits
description: List of customer traits
total_count:
type: integer
title: Total Count
description: Total number of traits
type: object
required:
- traits
- total_count
title: CustomerTraitsListResponse
description: Response model for listing customer traits.
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: API key required to authenticate requests.