# For Affiliates

If you understand the authentication flow for clients, this will be straightforward because it’s essentially identical.

It's like setting up a free account for a client (as described in Scenario 1) but with a different role, "AFFILIATE," which is passed from the sign-up page to the backend.

**Process**:

1. **Sign-Up**: On the sign-up page, select the option to sign up as an affiliate.
2. **Backend Handling**:

   * When the account creation request is sent to the backend, the role `AFFILIATE` is assigned during the `setupUserAccount()` function.

   ```jsx
   await prisma.user.update({
       where: { id: userId },
       data: {
           roles: {
               set: ["AFFILIATE"],
           },
       },
   });

   handleAfterSignupTasks({
       email,
       name,
       userId,
       isAffiliate,
   });
   ```

For further queries or assistance, refer to the code comments or contact our support team.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zakariaes-organization.gitbook.io/saascore-docs/authentication-flow/for-affiliates.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
