--- title: "(PKCE) Access token" description: "Request new access + refresh token pair with use of authorization grant code." --- > Documentation Index > Fetch the complete documentation index at: https://www.datamolino.com/api-docs/llms.txt > Use this file to discover all available pages before exploring further. # (PKCE) Access token
POST/oauth/token
Request new access + refresh token pair with use of authorization grant code. ## Code examples

cURL

```curl curl --request POST 'https://app.datamolino.com/oauth/token' ```

HTTP

```http POST /oauth/token HTTP/1.1 Host: app.datamolino.com ```

JavaScript Fetch

```javascript const response = await fetch("https://app.datamolino.com/oauth/token", { method: "POST", headers: {}, }); const data = await response.json(); ```

Node.js Axios

```javascript import axios from "axios"; const response = await axios({ method: "post", url: "https://app.datamolino.com/oauth/token", headers: {} }); console.log(response.data); ```

Python Requests

```python import requests url = "https://app.datamolino.com/oauth/token" headers = {} response = requests.request("POST", url, headers=headers) response.raise_for_status() print(response.json()) ```

Ruby Net::HTTP

```ruby require 'json' require 'net/http' uri = URI("https://app.datamolino.com/oauth/token") request = Net::HTTP::Post.new(uri) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts JSON.parse(response.body) ```

Ruby on Rails

```ruby # app/services/datamolino_client.rb require 'json' require 'net/http' class DatamolinoClient BASE_URL = "https://app.datamolino.com" def initialize(access_token: Rails.application.credentials.dig(:datamolino, :access_token)) @access_token = access_token end def request_pkce_access_token uri = URI("#{BASE_URL}/oauth/token") request = Net::HTTP::Post.new(uri) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end JSON.parse(response.body) end end ```

PHP Guzzle

```php request('POST', 'https://app.datamolino.com/oauth/token', [ 'headers' => json_decode('{}', true) ]); echo $response->getBody(); ```

Java OkHttp

```java OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://app.datamolino.com/oauth/token") .method("POST", null) .build(); Response response = client.newCall(request).execute(); ```

C# HttpClient

```csharp using var client = new HttpClient(); using var request = new HttpRequestMessage(HttpMethod.Post, "https://app.datamolino.com/oauth/token"); using var response = await client.SendAsync(request); response.EnsureSuccessStatusCode(); Console.WriteLine(await response.Content.ReadAsStringAsync()); ```

Go Native

```go client := &http.Client{} req, err := http.NewRequest("POST", "https://app.datamolino.com/oauth/token", nil) if err != nil { panic(err) } res, err := client.Do(req) if err != nil { panic(err) } defer res.Body.Close() body, err := io.ReadAll(res.Body) if err != nil { panic(err) } fmt.Println(string(body)) ```

Swift URLSession

```swift import Foundation var request = URLRequest(url: URL(string: "https://app.datamolino.com/oauth/token")!) request.httpMethod = "POST" let (data, _) = try await URLSession.shared.data(for: request) print(String(data: data, encoding: .utf8)!) ```
## Responses ### 200 OK Content type: `application/json; charset=utf-8` ```json { "access_token": "demo_access_token", "token_type": "Bearer", "expires_in": 7200, "refresh_token": "demo_refresh_token", "scope": "public", "created_at": 1700582474 } ``` Source: https://www.datamolino.com/api-docs/reference/authorization/pkce-access-token/index.mdx