Unicat API Reference

Up - API Reference - Home


/api/signup

Complete signup to create a new account. If successful, you get a new JWT (so you are logged in) and your new password will work from this moment forward.

If a (potential) user was invited to one or more projects, the signup process returns those projects.

Note: creating a new account is a two-step process; the first step initiates the action (see /api/signup_request), this is the second step that completes it.

Request

POST /api/signup

{
    "username": "<your-username-here>",
    "password": "<your-password-here>",
    "email": "<your-email-here>",
    "validation_code": "<validation-code-from-response>",
    "verification_code": "<verification-code-from-email>",
}

username is the same username as step 1.
password is the same password as step 1.
email is the same email as step 1.
validation_code is the validation code returned from step 1.
verification_code is the 6-character code received by email. This one-time code is valid for 15 minutes.

Note: if you want to change the username, password, or email address, you'll have to start a new request.

Success response

Authorization: <JWT>

{
    "success": true,
    "result": {
        "user": "<user gid>",
        "user_projects": {}
    },
    "data": {
        "cc.users": {
            "<user gid>": {
                "gid": "<user gid>",
                "username": "user-name",
                "email": "<user email>",
                "name": "",
                "avatar": null,
                "status": "active",
                "options": {
                    "language": "en",
                    "timezone": "Europe/Amsterdam"
                }
            }
        },
        "cc.projects": {},
        "cc.projects_members": [],
        "cc.languages": {
            "da": "Danish",
            "nl": "Dutch",
            
        },
    }
}

The JWT you need is in the Authorization header.

result

user is the user gid if the account creation was successful - you are now logged in (see JWT).
user_projects is an empty dictionary for new accounts.

data

cc.users is a dictionary with a single entry for the current user.
cc.projects is a dictionary of projects the user was invited to.
cc.projects_members is a list with metadata for project-membership.
cc.languages available languages for internationalization and localization.

Error response

400 Bad request - missing parameters (only the first is reported)
1001 Validation error - invalid verification/validation codes, unavailable username, weak password - see Validation information