Skip to content
Get started

Create a representative

Representative Embed.Representatives.Create(RepresentativeCreateParamsparameters, CancellationTokencancellationToken = default)
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
RepresentativeCreateParams parameters
required string accountID

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

formatuuid
required DateOnly dob

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

formatdate
required string email

Body param: The company email address of the representative.

formatemail
required string firstName

Body param: The first name of the representative.

required string lastName

Body param: The last name of the representative.

required string mobileNumber

Body param: The mobile phone number of the representative.

required Relationship relationship

Body param

required Boolean Control

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.

required Boolean Owner

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

required Boolean Primary

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.

Double? PercentOwnership

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

formatdouble
string? Title

The job title of the representative.

required string ssnLast4

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

string? externalID

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

IReadOnlyDictionary<string, string>? metadata

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

string correlationID

Header param: Optional client generated identifier to trace and debug a series of requests.

string idempotencyKey

Header param: Optional client generated value to use for idempotent requests.

maxLength40
minLength10
string requestID

Header param: Optional client generated identifier to trace and debug a request.

ReturnsExpand Collapse
class Representative:
required Data Data
required string ID

Unique identifier for the representative.

formatuuid
required string AccountID

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

formatuuid
required DateTimeOffset CreatedAt

Timestamp of when the representative was created.

formatdate-time
required DateOnly Dob

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

formatdate
required string? Email

The email address of the representative.

formatemail
required string FirstName

The first name of the representative.

required string LastName

The last name of the representative.

required string MobileNumber

The mobile phone number of the representative.

required string Name
required Relationship Relationship
required Boolean Control

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.

required Boolean Owner

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

required Boolean Primary

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.

Double? PercentOwnership

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

formatdouble
string? Title

The job title of the representative.

required string SsnLast4

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

required Status Status

The current status of the representative.

One of the following:
"created"Created
"onboarding"Onboarding
"active"Active
"rejected"Rejected
"inactive"Inactive
required StatusDetail StatusDetail
required string Code

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

required string Message

A human-readable message describing the current status.

required Reason Reason

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

One of the following:
"unverified"Unverified
"in_review"InReview
"pending"Pending
"stuck"Stuck
"verified"Verified
"failed_verification"FailedVerification
"disabled"Disabled
"new"New
required Source Source

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

required DateTimeOffset UpdatedAt

Timestamp of the most recent update to the representative.

formatdate-time
string? ExternalID

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

IReadOnlyDictionary<string, string>? Metadata

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

string? Phone
string? UserID

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

formatuuid
required ResponseMetadata Meta

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

required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required ResponseType ResponseType

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.
One of the following:
"object"Object
"array"Array
"error"Error
"none"None

Create a representative

RepresentativeCreateParams parameters = new()
{
    AccountID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    Dob = "1980-01-01",
    Email = "ron.swanson@pawnee.com",
    FirstName = "first_name",
    LastName = "last_name",
    MobileNumber = "+12128675309",
    Relationship = new()
    {
        Control = true,
        Owner = true,
        Primary = true,
        PercentOwnership = 0,
        Title = "title",
    },
    SsnLast4 = "1234",
};

var representative = await client.Embed.Representatives.Create(parameters);

Console.WriteLine(representative);
{
  "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"
}