# Start an authorization: sign-in and consent, then back to the app

GET`/oauth/authorize`

Request

**curl**


```bash
curl -X GET "https://tasksmate-fdfsarhnf5gacfb7.eastus-01.azurewebsites.net/oauth/authorize"
```

Start an authorization: the person signs in to TasksMate, picks the organization and approves the scopes; the browser then returns to `redirect_uri` with `code` and `state` (or `error` and `state`).

## Parameters

### Query Parameters

**response\_type**

Any of:

**string**


string

**null**


null

Must be `code`

**client\_id**

Any of:

**string**


string

**null**


null

The app’s `tmc_…` id

**redirect\_uri**

Any of:

**string**


string

**null**


null

Exactly one of the app’s registered redirect URIs

**scope**

Any of:

**string**


string

**null**


null

Space-separated scopes, within the app’s allowed scopes

**state**

Any of:

**string**


string

**null**


null

Required: an opaque value returned unchanged

**code\_challenge**

Any of:

**string**


string

**null**


null

Required: base64url(SHA-256(code\_verifier)), 43 characters

**code\_challenge\_method**

Any of:

**string**


string

**null**


null

Must be `S256`

## Responses

### 302

To the consent screen, or back to the app with `error` and `state`

### 400

An HTML error page: unknown app or unregistered redirect URI (never redirected)

text/html

string

### 422

Validation Error

application/json

_HTTPValidationError_

A `HTTPValidationError` object.

object

**detail**

_Detail_

Array<object>

_ValidationError_

Part of `HTTPValidationError`.

object

**loc**

required

_Location_

Array

**msg**

required

_Message_

string

**type**

required

_Error Type_

string

**input**

_Input_

**ctx**

_Context_object

Example

```json
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "ctx": {}
    }
  ]
}
```

---
Source: https://developers.tasksmate.indrasol.com/reference/operations/oauthauthorize/
