---
title: "Confirm a requester's attendance"
url: "https://real-estate-agency.apim.eu/apis/evaluation-sessions/versions/b3c12e5c-39d5-45ea-824c-783ae0f56765/operations/createConfirmation"
---

> Full API specification: https://real-estate-agency.apim.eu/apis/evaluation-sessions/versions/b3c12e5c-39d5-45ea-824c-783ae0f56765.md

# Confirm a requester's attendance

`POST` `/sessions/{sessionId}/confirmations`

Operation ID: `createConfirmation`

If the session is fully booked, the requester is placed on the waitlist instead.

## Path parameters

- `sessionId` (string, required)

## Request body (required)

Content types: `application/json`

## Responses

- `201` - Confirmation recorded
- `409` - Requester has already confirmed

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: Evaluation Sessions
  version: 1.0.0
servers:
  - url: https://api.nexora.example/v1
    description: Production
  - url: https://sandbox.api.nexora.example/v1
    description: Sandbox
paths:
  /sessions/{sessionId}/confirmations:
    parameters:
      - name: sessionId
        in: path
        required: true
        schema:
          type: string
          example: sess_9a44
    post:
      tags:
        - Sessions
      summary: Confirm a requester's attendance
      description: If the session is fully booked, the requester is placed on the
        waitlist instead.
      operationId: createConfirmation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - requester_id
              properties:
                requester_id:
                  type: string
                  example: req_71ab
                attendees:
                  type: integer
                  minimum: 0
                  maximum: 3
                  default: 0
      responses:
        "201":
          description: Confirmation recorded
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Confirmation"
        "409":
          description: Requester has already confirmed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
security:
  - apiKey: []
components:
  schemas:
    Confirmation:
      type: object
      properties:
        id:
          type: string
          example: conf_1f7c
        session_id:
          type: string
          example: sess_9a44
        requester_id:
          type: string
          example: req_71ab
        state:
          type: string
          enum:
            - confirmed
            - waitlisted
            - cancelled
            - attended
            - no_show
        attendees:
          type: integer
          example: 1
        confirmed_at:
          type: string
          format: date-time
          example: 2026-08-21T09:14:00Z
    Error:
      type: object
      description: Uniform error format across all Nexora AI APIs.
      required:
        - code
        - message
      properties:
        code:
          type: string
          example: validation_failed
        message:
          type: string
          example: The session start time is missing.
        details:
          type: array
          items:
            $ref: "#/components/schemas/ErrorDetail"
    ErrorDetail:
      type: object
      properties:
        field:
          type: string
          example: start
        reason:
          type: string
          example: missing
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: apikey
      description: |
        Every call carries an API key in the `apikey` header. You generate the
        key in the Nexora AI portal under "My Apps"; it's shown exactly once.

        Each key has the scopes it's allowed to use attached to it. If one is
        missing, the API responds with `403` and `code: "scope_missing"`; the
        missing scope is in `details[].field`.
```
