> ## Documentation Index
> Fetch the complete documentation index at: https://docs.docta.com.ar/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener Token de Acceso

> Obtener un token de acceso usando credenciales de cliente para la autenticación de la API

<Note>
  Este endpoint se utiliza para obtener un token de acceso usando credenciales de cliente para la autenticación de la API.
</Note>

## Cuerpo de la Solicitud

El cuerpo de la solicitud debe contener los siguientes campos requeridos:

<ParamField body="grant_type" type="string" required>
  El tipo de concesión OAuth 2.0. Debe establecerse en `client_credentials`.
</ParamField>

<ParamField body="client_id" type="string" required>
  Tu identificador de cliente proporcionado por Docta.
</ParamField>

<ParamField body="client_secret" type="string" required>
  Tu secreto de cliente proporcionado por Docta.
</ParamField>

## Ejemplo de Solicitud

```bash theme={null}
curl -X POST https://api.doctacapital.com.ar/api/v1/auth/token/ \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "your-client-id",
    "client_secret": "your-client-secret",
    "scope": "bonds:read cedears:read stocks:read"
  }'
```

## Respuesta Exitosa

<ResponseField name="access_token" type="string">
  El token de acceso a ser usado para solicitudes posteriores de la API.
</ResponseField>

<ResponseField name="token_type" type="string">
  El tipo de token. Será `Bearer`.
</ResponseField>

<ResponseField name="expires_in" type="integer">
  El número de segundos hasta que el token expire.
</ResponseField>

<ResponseField name="scope" type="string">
  El alcance de acceso otorgado por este token.
</ResponseField>

<ResponseField name="plan" type="string">
  El plan asociado al token. Puede ser `basic`, `professional` o `enterprise`.
</ResponseField>

## Ejemplo de Respuesta Exitosa

```json theme={null}
{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJwcm9kLWJhc3Rpb24tMDAxIiwiY2xpZW50X2lkIjoicHJvZC1iYXN0aW9uLTAwMSIsInNjb3BlcyI6WyJtYXJrZXRfZGF0YTpyZWFkIl0sInBsYW4iOiJlbnRlcnByaXNlIiwidG9rZW5fdHlwZSI6ImJlYXJlciIsImV4cCI6MTc1NzQ1Njg5OSwiaWF0IjoxNzU3NDUzMjk5fQ.zbvaoJLRwXFgW0aYG3DiZQM3p_4BZ3SNWj1mZEtN9wU",
    "token_type": "bearer",
    "expires_in": 3600,
    "scope": "bonds:read cedears:read stocks:read",
    "plan": "enterprise"
}
```

## Respuesta de Error

<ResponseField name="type" type="string">
  El identificador del tipo de error.
</ResponseField>

<ResponseField name="title" type="string">
  Una breve descripción del error.
</ResponseField>

<ResponseField name="status" type="integer">
  El código de estado HTTP.
</ResponseField>

<ResponseField name="detail" type="string">
  Una descripción detallada del error.
</ResponseField>

<ResponseField name="correlation_id" type="string">
  Un identificador único para rastrear esta solicitud de error.
</ResponseField>

## Ejemplo de Respuesta de Error

```json theme={null}
{
  "type": "/errors/authentication-required",
  "title": "Invalid client credentials",
  "status": 401,
  "detail": "Invalid client credentials",
  "correlation_id": "2eb07802-94de-468a-b70f-75a49f3e9516"
}
```


## OpenAPI

````yaml POST /api/v1/auth/token
openapi: 3.1.0
info:
  title: API de Docta
  description: >-
    API de mercado argentino: bonos (instrumentos, cashflows, curvas/yields) y
    FCI (screener, series, performance, comparaciones y analytics de industria).
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.doctacapital.com.ar
security: []
paths:
  /api/v1/auth/token:
    post:
      tags:
        - Autenticación
      description: >-
        Obtener un token de acceso usando credenciales de cliente para la
        autenticación de la API
      requestBody:
        description: Credenciales de cliente para autenticación
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthRequest'
        required: true
      responses:
        '200':
          description: Token de acceso obtenido exitosamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponse'
        '400':
          description: Solicitud incorrecta - parámetros inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Credenciales de cliente inválidas
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security: []
components:
  schemas:
    AuthRequest:
      required:
        - grant_type
        - client_id
        - client_secret
      type: object
      properties:
        grant_type:
          description: >-
            El tipo de concesión OAuth 2.0. Debe establecerse en
            client_credentials
          type: string
          default: client_credentials
          enum:
            - client_credentials
        client_id:
          description: Tu identificador de cliente proporcionado por Docta
          type: string
        client_secret:
          description: Tu secreto de cliente proporcionado por Docta
          type: string
    AuthResponse:
      required:
        - access_token
        - token_type
        - expires_in
        - scope
      type: object
      properties:
        access_token:
          description: >-
            El token de acceso a ser usado para solicitudes posteriores de la
            API
          type: string
        token_type:
          description: El tipo de token. Será Bearer
          type: string
          enum:
            - Bearer
        expires_in:
          description: El número de segundos hasta que el token expire
          type: integer
        scope:
          description: El alcance de acceso otorgado por este token
          type: string
    Error:
      required:
        - type
        - title
        - status
        - detail
        - correlation_id
      type: object
      properties:
        type:
          description: El identificador del tipo de error
          type: string
          example: /errors/authentication-required
        title:
          description: Una breve descripción del error
          type: string
          example: Invalid client credentials
        status:
          description: El código de estado HTTP
          type: integer
          example: 401
        detail:
          description: Una descripción detallada del error
          type: string
          example: Invalid client credentials
        correlation_id:
          description: Un identificador único para rastrear esta solicitud de error
          type: string
          format: uuid
          example: 2eb07802-94de-468a-b70f-75a49f3e9516

````