Account Management

Base URL

https://office.rivenapp.com/api/v1

1. Upload account KYC documents

Endpoint:

GET /account/kyc

Description:

Enables authenticated users to submit their KYC(Know you client) information to their profile details

Headers:

Key Value
Authorization Bearer {your_token}
Content-Type application/json

Request

{warning.fa-info} Request is processed in form-data as seen in the screen shot below:

KYC

Response:

{
    "data": {
        "id": 1,
        "phone": "+254XXXXXXXXX",
        "otp_code": null,
        "name": "Bazu Baite",
        "first_name": "Bazu",
        "last_name": "Baite",
        "profile_photo": null,
        "email": "user1@rivenapp.com",
        "email_verified_at": null,
        "other_phones": null,
        "dob": "1979-12-31T21:00:00.000000Z",
        "gender": null,
        "alpaca_account_id": "bbe3ef5a-8a99-44b4-acbf-0b933a0c9978",
        "account_status": "active",
        "created_at": "2024-11-02T06:33:08.000000Z",
        "updated_at": "2024-11-02T10:12:43.000000Z"
    },
    "message": "trader account kyc accepted",
    "status": true
}

2. Get User Account Information

Endpoint:

GET /account/profile

Description:

Fetch the user's account details from Riven, including balance and buying power.

Headers:

Key Value
Authorization Bearer {your_token}
Content-Type application/json

Response:

{
    "data": {
        "id": "bbe3ef5a-8a99-44b4-acbf-0b933a0c9978",
        "account_number": "653360082",
        "status": "ACTIVE",
        "crypto_status": "INACTIVE",
        "kyc_results": {
            "reject": [],
            "accept": [],
            "indeterminate": [],
            "summary": "pass"
        },
        "currency": "USD",
        "last_equity": "0",
        "created_at": "2024-11-02T07:18:31.168292Z",
        "contact": {
            "email_address": "user1@rivenapp.com",
            "phone_number": "+254XXXXXXXXX",
            "street_address": [
                "New Kanairo"
            ],
            "local_street_address": null,
            "unit": "null",
            "city": "San Majei",
            "state": "CA",
            "postal_code": "34401"
        },
        "identity": {
            "given_name": "Bazu",
            "family_name": "Baite",
            "middle_name": "null",
            "date_of_birth": "1980-01-01",
            "tax_id_type": "USA_SSN",
            "country_of_citizenship": "USA",
            "country_of_birth": "USA",
            "country_of_tax_residence": "USA",
            "funding_source": [
                "employment_income"
            ],
            "visa_type": null,
            "visa_expiration_date": null,
            "date_of_departure_from_usa": null,
            "permanent_resident": null,
            "is_force_finra_institutional": null,
            "investment_experience_with_stocks": null,
            "investment_experience_with_options": null,
            "investment_time_horizon": null
        },
        "disclosures": {
            "is_control_person": false,
            "is_affiliated_exchange_or_finra": false,
            "is_affiliated_exchange_or_iiroc": false,
            "is_politically_exposed": false,
            "immediate_family_exposed": false,
            "is_discretionary": false
        },
        "agreements": [
            {
                "agreement": "customer_agreement",
                "signed_at": "2024-11-02T10:18:28+03:00",
                "ip_address": "127.0.0.1",
                "revision": "22.2024.08"
            }
        ],
        "documents": [
            {
                "document_type": "identity_verification",
                "document_sub_type": "passport",
                "id": "c7d50b2f-8192-4d10-a87e-39b5b097096c",
                "content": "https://s3.amazonaws.com/documents/owners/9a9ae36e-7db4-4fa3-a8ae-2f7b695a54a9/b853751f-2267-4dd9-96af-18d274993da8.png&X-Amz-Date=20241102T103803Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=51923da47677734d6d9a0607d699e30132859b24fd94e22003caaffac1c79717",
                "created_at": "2024-11-02T10:13:15.217269Z"
            }
        ],
        "trusted_contact": {
            "given_name": "Bazu",
            "family_name": "Baite",
            "email_address": "bazu.baite@example.com"
        },
        "account_type": "trading",
        "trading_configurations": null,
        "enabled_assets": [
            "us_equity"
        ]
    },
    "message": "Account data retrieved successfully",
    "status": true
}

3. Update user profile information

Endpoint:

GET /account/update

Description:

Enables authenticated users to update their profile details, including their name, phone number, and email. The endpoint ensures that only allowed fields are updated and verifies the user’s identity through authentication.

Headers:

Key Value
Authorization Bearer {your_token}
Content-Type application/json

Request:

{
  "contact": {
    "email_address": "user_one@rivenapp.com",
    "street_address": "street_address",
    "postal_code": "postal_code",
    "city": "Nairobi"
  },
  "identity": {
    "given_name": "given_name",
    "family_name": "family_name",
    "funding_source": "funding_source"
  }
}

Response:

{
    "data": {
        "id": 1,
        "phone": "+254XXXXXXXXX",
        "otp_code": null,
        "name": "given_name family_name",
        "first_name": "given_name",
        "last_name": "family_name",
        "profile_photo": null,
        "email": "user_one@rivenapp.com",
        "email_verified_at": null,
        "other_phones": null,
        "dob": "1979-12-31T21:00:00.000000Z",
        "gender": null,
        "alpaca_account_id": "bbe3ef5a-8a99-44b4-acbf-0b933a0c9978",
        "account_status": "active",
        "created_at": "2024-11-02T06:33:08.000000Z",
        "updated_at": "2024-11-02T11:18:36.000000Z"
    },
    "message": "User account updated successfully",
    "status": true
}