{
  "schema": "fapi-docx-profile/v1",
  "source_docx": "source/Profile-FAPI-advanced-source.docx",
  "document_xml": "word/document.xml",
  "title": "Профили API для расширенного режима безопасности",
  "standard": "СТАНДАРТ БАНКА РОССИИ. ОТКРЫТЫЕ ПРОГРАММНЫЕ ИНТЕРФЕЙСЫ",
  "effective_date": "2026-10-01",
  "version": "2.0.0",
  "preamble": "sections/00-preamble.xml",
  "sections": [
    {
      "id": "01-история-изменений",
      "title": "История изменений",
      "heading_level": 1,
      "file": "01-история-изменений.xml",
      "paragraphs": 1,
      "tables": 1,
      "outline": [
        {
          "level": 1,
          "title": "История изменений",
          "children": []
        }
      ]
    },
    {
      "id": "02-предисловие",
      "title": "Предисловие",
      "heading_level": 1,
      "file": "02-предисловие.xml",
      "paragraphs": 4,
      "tables": 0,
      "outline": [
        {
          "level": 1,
          "title": "Предисловие",
          "children": []
        }
      ]
    },
    {
      "id": "03-введение",
      "title": "Введение",
      "heading_level": 1,
      "file": "03-введение.xml",
      "paragraphs": 21,
      "tables": 0,
      "outline": [
        {
          "level": 1,
          "title": "Введение",
          "children": [
            {
              "level": 2,
              "title": "Область применения",
              "children": []
            },
            {
              "level": 2,
              "title": "Термины и определения",
              "children": []
            }
          ]
        }
      ]
    },
    {
      "id": "04-требования-и-ограничения",
      "title": "Требования и ограничения",
      "heading_level": 1,
      "file": "04-требования-и-ограничения.xml",
      "paragraphs": 49,
      "tables": 0,
      "outline": [
        {
          "level": 1,
          "title": "Требования и ограничения",
          "children": [
            {
              "level": 2,
              "title": "Использование токенов доступа",
              "children": [
                {
                  "level": 3,
                  "title": "Токен доступа",
                  "children": []
                }
              ]
            },
            {
              "level": 2,
              "title": "Использование криптографических средств",
              "children": []
            },
            {
              "level": 2,
              "title": "Метаданные сервера авторизации",
              "children": []
            },
            {
              "level": 2,
              "title": "Метаданные клиента",
              "children": []
            },
            {
              "level": 2,
              "title": "Методы аутентификации клиента",
              "children": []
            },
            {
              "level": 2,
              "title": "Применение PKCE",
              "children": []
            },
            {
              "level": 2,
              "title": "Требования к протоколу TLS",
              "children": [
                {
                  "level": 3,
                  "title": "Безопасность взаимодействий",
                  "children": []
                }
              ]
            },
            {
              "level": 2,
              "title": "Кодирование байтовых строк",
              "children": [
                {
                  "level": 3,
                  "title": "Требования к кодированию",
                  "children": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "05-протокол-openid-connect-с-генерацией-кода-авторизации",
      "title": "Протокол OpenID Connect с генерацией кода авторизации",
      "heading_level": 1,
      "file": "05-протокол-openid-connect-с-генерацией-кода-авторизации.xml",
      "paragraphs": 489,
      "tables": 6,
      "outline": [
        {
          "level": 1,
          "title": "Протокол OpenID Connect с генерацией кода авторизации",
          "children": [
            {
              "level": 2,
              "title": "Применяемые режимы",
              "children": []
            },
            {
              "level": 2,
              "title": "Метод аутентификации private_key_jwt",
              "children": [
                {
                  "level": 3,
                  "title": "Шаги метода аутентификации private_key_jwt",
                  "children": []
                }
              ]
            },
            {
              "level": 2,
              "title": "Требования к сценариям предоставления доступа",
              "children": [
                {
                  "level": 3,
                  "title": "Предоставление доступа по учетным данным OIDC клиента (client credentials)",
                  "children": [
                    {
                      "level": 4,
                      "title": "Параметры запроса",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Пример запроса",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Пример ответа",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Пример декодированного (с помощью конечной точки интроспекции) токена доступа",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "Предоставление доступа с использованием токена обновления (refresh_token)",
                  "children": [
                    {
                      "level": 4,
                      "title": "Связь offline_access и токена доступа",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Управление refresh_token",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Параметры запроса",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Пример запроса",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Пример ответа",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Пример декодированного (с помощью конечной точки интроспекции) нового токена доступа",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "Предоставление доступа с кодом авторизации (authorization_code)",
                  "children": [
                    {
                      "level": 4,
                      "title": "Запрос аутентификации",
                      "children": [
                        {
                          "level": 5,
                          "title": "Параметры запроса",
                          "children": []
                        }
                      ]
                    },
                    {
                      "level": 4,
                      "title": "Верхнеуровневый список запрашиваемых параметров claims",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Идентификатор ресурса согласия в запросе аутентификации",
                      "children": [
                        {
                          "level": 5,
                          "title": "Минимизация данных и безопасность",
                          "children": []
                        },
                        {
                          "level": 5,
                          "title": "Связь намерения с процессом аутентификации",
                          "children": []
                        },
                        {
                          "level": 5,
                          "title": "Предотвращение несанкционированного доступа и контроль согласия",
                          "children": []
                        },
                        {
                          "level": 5,
                          "title": "Пример объекта запроса аутентификации c со значение consent_id в качестве параметра openbanking_intent_id",
                          "children": []
                        },
                        {
                          "level": 5,
                          "title": "Применение параметра login_hint",
                          "children": []
                        },
                        {
                          "level": 5,
                          "title": "Пример запроса:",
                          "children": []
                        }
                      ]
                    },
                    {
                      "level": 4,
                      "title": "Ответ от сервера авторизации",
                      "children": [
                        {
                          "level": 5,
                          "title": "Параметры ответа",
                          "children": []
                        },
                        {
                          "level": 5,
                          "title": "Параметр session_state",
                          "children": []
                        }
                      ]
                    },
                    {
                      "level": 4,
                      "title": "Параметры токена идентификации",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Пример ID токена в ответе на запрос аутентификации",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Проверка ID токена",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Получение токена доступа в обмен на код авторизации",
                      "children": [
                        {
                          "level": 5,
                          "title": "Параметры запроса",
                          "children": []
                        },
                        {
                          "level": 5,
                          "title": "Параметры ответа",
                          "children": []
                        },
                        {
                          "level": 5,
                          "title": "Пример успешного ответа",
                          "children": []
                        }
                      ]
                    },
                    {
                      "level": 4,
                      "title": "Требования к реализации сценария авторизации, инициируемых мобильными приложениями",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Повторная авторизация действующего Согласия другим Пользователем",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "Информация о Пользователе",
                  "children": [
                    {
                      "level": 4,
                      "title": "Использование Id_token и конечной точки UserInfo",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Сопоставление субъектов данных",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "Tокен доступа, связанный с MTLS сертификатом клиента",
                  "children": [
                    {
                      "level": 4,
                      "title": "Привязка токена доступа к MTLS сертификату клиента",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Проверка токена доступа, связанного с MTLS сертификатом",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "Проверка запроса токена",
                  "children": [
                    {
                      "level": 4,
                      "title": "Общие требования для всех типов доступа:",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "authorization_code",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "client_credentials",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "refresh_token",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "Проверка ответа токена",
                  "children": [
                    {
                      "level": 4,
                      "title": "Общие проверки ответа токена",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "Указание области доступа (scope) в ответе на запрос токена",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "client_credentials",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "refresh_token",
                      "children": []
                    },
                    {
                      "level": 4,
                      "title": "authorization_code",
                      "children": []
                    }
                  ]
                }
              ]
            },
            {
              "level": 2,
              "title": "Доступ к защищенному ресурсу",
              "children": [
                {
                  "level": 3,
                  "title": "Проверка токена доступа",
                  "children": [
                    {
                      "level": 4,
                      "title": "Проверка основных свойств токена доступа",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "Проверка на соответствие схеме безопасности",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "Проверка согласия",
                  "children": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "06-отзыв-токена-доступа",
      "title": "Отзыв токена доступа",
      "heading_level": 1,
      "file": "06-отзыв-токена-доступа.xml",
      "paragraphs": 13,
      "tables": 1,
      "outline": [
        {
          "level": 1,
          "title": "Отзыв токена доступа",
          "children": [
            {
              "level": 2,
              "title": "Параметры запроса отзыва токена",
              "children": [
                {
                  "level": 4,
                  "title": "Пример запроса:",
                  "children": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "07-спецификация-сервера-авторизации",
      "title": "Спецификация сервера авторизации",
      "heading_level": 1,
      "file": "07-спецификация-сервера-авторизации.xml",
      "paragraphs": 125,
      "tables": 45,
      "outline": [
        {
          "level": 1,
          "title": "Спецификация сервера авторизации",
          "children": [
            {
              "level": 3,
              "title": "Authorize",
              "children": [
                {
                  "level": 4,
                  "title": "API - get /authorize",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Параметры query",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Тип ответа",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Возвращаемые типы",
                  "children": []
                }
              ]
            },
            {
              "level": 3,
              "title": "Token",
              "children": [
                {
                  "level": 4,
                  "title": "API - post /token",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Параметры заголовка запроса",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Параметры form",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Consumes",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Тип ответа",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Продюсер",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Возвращаемые типы",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "API - post /revoke",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Параметры заголовка запроса",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Параметры form",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Consumes",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Тип ответа",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Возвращаемые типы",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "API - post /introspection",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Параметры заголовка запроса",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Параметры form",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Consumes",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Тип ответа",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Продюсер",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Возвращаемые типы",
                  "children": []
                }
              ]
            },
            {
              "level": 3,
              "title": "UserInfo",
              "children": [
                {
                  "level": 4,
                  "title": "API - get /userinfo",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Параметры заголовка запроса",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Тип ответа",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Продюсер",
                  "children": []
                },
                {
                  "level": 4,
                  "title": "Возвращаемые типы",
                  "children": []
                }
              ]
            },
            {
              "level": 2,
              "title": "Примеры использования",
              "children": [
                {
                  "level": 3,
                  "title": "POST /token",
                  "children": [
                    {
                      "level": 4,
                      "title": "Успешный ответ",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "POST /introspection",
                  "children": [
                    {
                      "level": 4,
                      "title": "Успешный ответ",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "GET /userinfo",
                  "children": [
                    {
                      "level": 4,
                      "title": "Успешный ответ",
                      "children": []
                    }
                  ]
                },
                {
                  "level": 3,
                  "title": "RequestParameters",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "AuthorizeBadRequestError",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "TokenEndpointSuccessfulResponse",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "TokenBadRequestError",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "OAuthTokenManagementBadRequestError",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "TokenIntrospectionResponse",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "UserinfoResponse",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "UserinfoBadRequestError",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "UserinfoForbiddenError",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "UserinfoMethodNotAllowedError",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "ResponseType",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "ResponseMode",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "GrantType",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "ClientAssertionType",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "TokenTypeHint",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "Map_Option_RequestIndividualClaim",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "RequestIndividualClaim",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "Essential",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "Value",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "Values",
                  "children": []
                },
                {
                  "level": 3,
                  "title": "TokenType",
                  "children": []
                }
              ]
            }
          ]
        }
      ],
      "generated_from": {
        "type": "openapi",
        "source": "dist/idp.yaml",
        "pattern": "openapi-generator-patterns/docx-fapi-authorisation-server/section.xml.mustache",
        "operations": [
          "get /authorize",
          "post /token",
          "post /revoke",
          "post /introspection",
          "get /userinfo"
        ]
      },
      "relatedEndpoints": [
        "/authorize",
        "/token",
        "/revoke",
        "/introspection",
        "/userinfo"
      ]
    },
    {
      "id": "08-обработка-ошибок",
      "title": "Обработка ошибок",
      "heading_level": 1,
      "file": "08-обработка-ошибок.xml",
      "paragraphs": 34,
      "tables": 8,
      "outline": [
        {
          "level": 1,
          "title": "Обработка ошибок",
          "children": [
            {
              "level": 2,
              "title": "Общие правила",
              "children": []
            },
            {
              "level": 2,
              "title": "Общая матрица HTTP status",
              "children": []
            },
            {
              "level": 2,
              "title": "Error-коды OAuth/OIDC",
              "children": []
            },
            {
              "level": 2,
              "title": "/authorize",
              "children": []
            },
            {
              "level": 2,
              "title": "/token",
              "children": []
            },
            {
              "level": 2,
              "title": "/revoke",
              "children": []
            },
            {
              "level": 2,
              "title": "/introspection",
              "children": []
            },
            {
              "level": 2,
              "title": "/userinfo",
              "children": []
            },
            {
              "level": 2,
              "title": "Rate limit",
              "children": []
            },
            {
              "level": 2,
              "title": "Server error",
              "children": []
            },
            {
              "level": 2,
              "title": "Политика раскрытия информации",
              "children": []
            }
          ]
        }
      ],
      "generated_from": {
        "type": "markdown",
        "source": "docs/error-handling.md",
        "pattern": "tools/fapi_docx/profile_docx.py"
      }
    }
  ]
}
