---
title: "Pushed Authorization Request (RFC 9126)"
method: POST
path: "/oauth/par"
tags: ["OAuth"]
---

# Pushed Authorization Request (RFC 9126)

`POST /oauth/par`

## Request

- Base URL: `https://logfire-api.pydantic.dev/api`
- URL: `https://logfire-api.pydantic.dev/api/oauth/par`
- Auth: none declared
- TypeScript: <https://skmtc.dev/pydantic/apis/pydantic-logfire-api/docs/oauth/par/post.ts> (a function with typed inputs; its response is checked against the schema)

Validate and store a short-lived RFC 9126 pushed authorization request.

## Headers

- `authorization` string

## Request body `application/x-www-form-urlencoded`

- object
  - `client_id` string, required
  - `client_secret` string
  - `redirect_uri` string, uri, required
  - `response_type` 'code', required
  - `scope` string
  - `state` string
  - `code_challenge` string, required
  - `code_challenge_method` 'S256', required
  - `resource` string, uri

## Response `201`

Successful Response

- PARResponse: RFC 9126 successful pushed authorization response.
  - `request_uri` string, required
  - `expires_in` integer, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `413`: Content Too Large
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/pydantic/apis/pydantic-logfire-api.md) - [All operations](https://skmtc.dev/pydantic/apis/pydantic-logfire-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pydantic/apis/pydantic-logfire-api/revisions/7996e45256f4?raw)
