---
title: "Aprobar la autorización (emite el authorization code)"
method: POST
path: "/oauth/consentimiento"
tags: ["oauth"]
---

# Aprobar la autorización (emite el authorization code)

`POST /oauth/consentimiento`

## Request

- Base URL: `https://contadeo.com/api`
- URL: `https://contadeo.com/api/oauth/consentimiento`
- Auth: HTTP bearer

Requiere la sesión del usuario que autoriza (JWT del dashboard; las API keys no pueden consentir). Liga el code al usuario y a su cuenta activa y devuelve la URL de redirect (`code` + `state`) hacia el cliente OAuth. Aprobar abre el canal de IA: si es la primera vez que la empresa lo abre -por aquí o dando de alta una API key con rol `emisor`, `contador` o `lector`- sale un correo al owner con el aviso del art. 5.1.

## Request body

- object
  - `client_id` string, uuid, required
  - `redirect_uri` string, required
  - `response_type` 'code', required
  - `code_challenge` string, required
  - `code_challenge_method` 'S256', required
  - `scope` string: Scopes separados por espacio: emisor contador lector (default: emisor)
  - `state` string
  - `resource` string: RFC 8707: URL del recurso MCP

## Response `200`

Code emitido

- object
  - `redirect` string: URL del cliente con ?code=...&state=... — la SPA manda el navegador ahí

## Other responses

- `400`: Cuerpo inválido o validación de negocio (previene errores SRI 62/52/65/69/39)
- `401`: Token/key ausente, inválido o expirado

---

[API](https://skmtc.dev/contadeo/apis/api-de-contadeo.md) · [All operations](https://skmtc.dev/contadeo/apis/api-de-contadeo/llms.txt) · [OpenAPI document](https://skmtc.dev/contadeo/apis/api-de-contadeo/revisions/461bbb9a74ce?raw)
