Skip to content
  • Auto
  • Light
  • Dark
Get started
View as Markdown
Copy Markdown

Open in Claude
Open in ChatGPT

Create a representative

embed.representatives.create(RepresentativeCreateParams**kwargs) -> Representative
post/v1/representatives

Creates a new representative associated with an account. Representatives are individuals who have legal authority or significant responsibility within the business.

ParametersExpand Collapse
account_id: str

The unique identifier of the account this representative is associated with.

formatuuid
dob: Union[null, null]

Date of birth for the representative in ISO 8601 format (YYYY-MM-DD).

formatdate
email: str

The company email address of the representative.

formatemail
first_name: str

The first name of the representative.

last_name: str

The last name of the representative.

mobile_number: str

The mobile phone number of the representative.

relationship: Relationship
control: bool

Whether the representative has significant responsibility to control, manage, or direct the organization. One representative must be identified under the control prong for each legal entity.

owner: bool

Whether the representative owns any percentage of of the equity interests of the legal entity.

primary: bool

Whether the person is authorized as the primary representative of the account. This is the person chosen by the business to provide information about themselves, general information about the account, and who consented to the services agreement.

There can be only one primary representative for an account at a time.

percent_ownership: Optional[float]

The percentage of ownership the representative has. Required if 'Owner' is true.

formatdouble
title: Optional[str]

The job title of the representative.

ssn_last4: str

The last 4 digits of the representative's Social Security Number.

external_id: Optional[str]

Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems.

metadata: Optional[Dict[str, str]]

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format.

correlation_id: Optional[str]
idempotency_key: Optional[str]
request_id: Optional[str]
ReturnsExpand Collapse
class Representative:
data: Data
id: str

Unique identifier for the representative.

formatuuid
account_id: str

The unique identifier of the account this representative is associated with.

formatuuid
created_at: datetime

Timestamp of when the representative was created.

formatdate-time
dob: date

The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD).

formatdate
email: Optional[str]

The email address of the representative.

formatemail
first_name: str

The first name of the representative.

last_name: str

The last name of the representative.

mobile_number: str

The mobile phone number of the representative.

name: str
relationship: DataRelationship
control: bool

Whether the representative has significant responsibility to control, manage, or direct the organization. One representative must be identified under the control prong for each legal entity.

owner: bool

Whether the representative owns any percentage of of the equity interests of the legal entity.

primary: bool

Whether the person is authorized as the primary representative of the account. This is the person chosen by the business to provide information about themselves, general information about the account, and who consented to the services agreement.

There can be only one primary representative for an account at a time.

percent_ownership: Optional[float]

The percentage of ownership the representative has. Required if 'Owner' is true.

formatdouble
title: Optional[str]

The job title of the representative.

ssn_last4: str

The last 4 digits of the representative's Social Security Number.

status: Literal["created", "onboarding", "active", 2 more]

The current status of the representative.

Accepts one of the following:
"created"
"onboarding"
"active"
"rejected"
"inactive"
status_detail: DataStatusDetail
code: str

A machine-readable code for the specific status, useful for programmatic handling.

message: str

A human-readable message describing the current status.

reason: Literal["unverified", "in_review", "pending", 5 more]

A machine-readable identifier for the specific status, useful for programmatic handling.

Accepts one of the following:
"unverified"
"in_review"
"pending"
"stuck"
"verified"
"failed_verification"
"disabled"
"new"
source: Literal["watchtower"]

Identifies the origin of the status change (e.g., watchtower). This helps in tracking the cause of status updates.

Accepts one of the following:
"watchtower"
updated_at: datetime

Timestamp of the most recent update to the representative.

formatdate-time
external_id: Optional[str]

Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems.

metadata: Optional[Dict[str, str]]

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format.

phone: Optional[str]
user_id: Optional[str]

The unique identifier of the user account associated with this representative, if applicable.

formatuuid

Metadata about the API request, including an identifier and timestamp.

api_request_id: str

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: datetime

Timestamp for this API request, useful for troubleshooting.

formatdate-time
response_type: Literal["object", "array", "error", "none"]

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
Accepts one of the following:
"object"
"array"
"error"
"none"
Create a representative
from datetime import date
from straddle import Straddle

client = Straddle(
    api_key="My API Key",
)
representative = client.embed.representatives.create(
    account_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    dob=date.fromisoformat("1980-01-01"),
    email="ron.swanson@pawnee.com",
    first_name="first_name",
    last_name="last_name",
    mobile_number="+12128675309",
    relationship={
        "control": True,
        "owner": True,
        "primary": True,
    },
    ssn_last4="1234",
)
print(representative.data)
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_at": "2019-12-27T18:11:19.117Z",
    "dob": "1980-01-01",
    "email": "ron.swanson@pawnee.com",
    "first_name": "Ron",
    "last_name": "Swanson",
    "mobile_number": "+12128675309",
    "name": "name",
    "relationship": {
      "control": true,
      "owner": true,
      "primary": true,
      "percent_ownership": 0,
      "title": "title"
    },
    "ssn_last4": "1234",
    "status": "created",
    "status_detail": {
      "code": "code",
      "message": "message",
      "reason": "unverified",
      "source": "watchtower"
    },
    "updated_at": "2019-12-27T18:11:19.117Z",
    "external_id": "external_id",
    "metadata": {
      "foo": "string"
    },
    "phone": "phone",
    "user_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}
Returns Examples
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_at": "2019-12-27T18:11:19.117Z",
    "dob": "1980-01-01",
    "email": "ron.swanson@pawnee.com",
    "first_name": "Ron",
    "last_name": "Swanson",
    "mobile_number": "+12128675309",
    "name": "name",
    "relationship": {
      "control": true,
      "owner": true,
      "primary": true,
      "percent_ownership": 0,
      "title": "title"
    },
    "ssn_last4": "1234",
    "status": "created",
    "status_detail": {
      "code": "code",
      "message": "message",
      "reason": "unverified",
      "source": "watchtower"
    },
    "updated_at": "2019-12-27T18:11:19.117Z",
    "external_id": "external_id",
    "metadata": {
      "foo": "string"
    },
    "phone": "phone",
    "user_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}