Creates a new bot user for machine-to-machine authentication.

Usage Example

POST /api/v1/auth/bots
Authorization: Bearer {access_token}
Content-Type: application/json

{
  "email": "salesforce-integration@acme.com",
  "firstName": "Salesforce",
  "lastName": "Integration"
}

Success Response (201 Created):

HTTP/1.1 201 Created
Location: /api/v1/auth/bots/bot-abc123
Content-Type: application/json

{
  "id": "bot-abc123",
  "email": "salesforce-integration@acme.com",
  "firstName": "Salesforce",
  "lastName": "Integration",
  "fullName": "Salesforce Integration"
}

Validation Rules

  • email: Required, must be valid email format, must be unique within tenant
  • firstName: Optional, 1-100 characters
  • lastName: Optional, 1-100 characters

Next Steps

After creating a bot user:

  1. Create an OAuth client associated with this bot: POST /api/v1/auth/clients with botUserId
  2. Use the client credentials (client_id + client_secret) to obtain access tokens
  3. Use access tokens to authenticate API requests on behalf of the bot user

Best Practices

  • Use descriptive names that identify the integration purpose
  • Use dedicated email addresses (e.g., integration-name@company.com)
  • Store client credentials securely (never commit to source control)
  • Rotate credentials regularly
Body·
required

Bot user details including email, first name, and last name

Request to create a new bot user for machine-to-machine API authentication.

  • email
    Type: string
    max length:  
    255
    required

    Email address for the bot user (required, must be unique).

  • firstName
    Type: null | string
    max length:  
    100

    Optional first name for the bot user.

  • lastName
    Type: null | string
    max length:  
    100

    Optional last name for the bot user.

Responses
  • application/json
  • application/problem+json
  • application/problem+json
  • application/problem+json
  • application/problem+json
Request Example for post/api/v1/auth/bots
curl https://app.propstreet.com/api/v1/auth/bots \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "email": "salesforce-integration@acme.com",
  "firstName": "Salesforce",
  "lastName": "Production Integration"
}'
{
  "id": "bot-abc123",
  "email": "salesforce-integration@acme.com",
  "firstName": "Salesforce",
  "lastName": "Production Integration",
  "fullName": "Salesforce Production Integration"
}