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

# Store vehicle photos for an embed session

> **Embedded flow only.** If your site or app already holds the five vehicle photos comprehensive cover needs, hand them over here after opening the session and before the customer opens the embed. The customer is then not asked to upload photos inside the frame: Yasmina registers this set with the insurance provider itself, against whichever quotation the customer picks.

Same files and limits as Upload vehicle photos, without a `quote_price_id`. The photos are checked and stored only; nothing is sent to the provider by this call. All five are required together, and calling it again replaces the stored set.

Do not use this from a server-to-server integration: there, upload the photos against the selected quote with Upload vehicle photos.



## OpenAPI

````yaml /car-api-reference/openapi.json post /embed-sessions/{id}/photos
openapi: 3.0.1
info:
  title: OpenAPI For Motor Insurance
  description: API's that you need to use to issue insurance policies to your clients
  license:
    name: MIT
  version: 1.0.0
servers:
  - x-fern-server-name: Sandbox
    url: https://sandbox.yasmina.ai/api/v1/car-comp
  - x-fern-server-name: Production
    url: https://production.yasmina.ai/api/v1/car-comp
security:
  - Oauth2: []
paths:
  /embed-sessions/{id}/photos:
    post:
      tags:
        - Embed sessions
      summary: Store vehicle photos for an embed session
      description: >-
        **Embedded flow only.** If your site or app already holds the five
        vehicle photos comprehensive cover needs, hand them over here after
        opening the session and before the customer opens the embed. The
        customer is then not asked to upload photos inside the frame: Yasmina
        registers this set with the insurance provider itself, against whichever
        quotation the customer picks.


        Same files and limits as Upload vehicle photos, without a
        `quote_price_id`. The photos are checked and stored only; nothing is
        sent to the provider by this call. All five are required together, and
        calling it again replaces the stored set.


        Do not use this from a server-to-server integration: there, upload the
        photos against the selected quote with Upload vehicle photos.
      parameters:
        - name: id
          in: path
          required: true
          description: The session id returned when it was created.
          schema:
            type: integer
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                front:
                  type: string
                  format: binary
                  description: Photo of the front of the vehicle. JPG or PNG, up to 3 MB.
                back:
                  type: string
                  format: binary
                  description: Photo of the rear of the vehicle. JPG or PNG, up to 3 MB.
                right:
                  type: string
                  format: binary
                  description: >-
                    Photo of the right-hand side of the vehicle. JPG or PNG, up
                    to 3 MB.
                left:
                  type: string
                  format: binary
                  description: >-
                    Photo of the left-hand side of the vehicle. JPG or PNG, up
                    to 3 MB.
                chassis:
                  type: string
                  format: binary
                  description: Photo of the chassis (VIN) number. JPG or PNG, up to 3 MB.
              required:
                - front
                - back
                - right
                - left
                - chassis
      responses:
        '200':
          description: Photos stored on the session’s quote request
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: The session id.
                    example: 1
                  quote_request_id:
                    type: integer
                    description: The quote request the photos were stored on.
                    example: 42
                  attachments:
                    type: object
                    description: The stored photo URLs, keyed by position.
                    example:
                      front: https://cdn.yasmina.ai/vehicle-photos/abc123.jpg
                      back: https://cdn.yasmina.ai/vehicle-photos/def456.jpg
                      right: https://cdn.yasmina.ai/vehicle-photos/ghi789.jpg
                      left: https://cdn.yasmina.ai/vehicle-photos/jkl012.jpg
                      chassis: https://cdn.yasmina.ai/vehicle-photos/mno345.jpg
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          description: A photo is missing, is not a JPG/PNG image, or is larger than 3 MB
          content:
            application/json:
              schema:
                type: object
                example:
                  code: '42201'
                  message: The chassis field is required.
                  details:
                    chassis:
                      - The chassis field is required.
components:
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: string
                example: '40101'
              message:
                type: string
                example: Unauthenticated
    NotFound:
      description: Record not found
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: string
                example: '40401'
              message:
                type: string
                example: Not found
  securitySchemes:
    Oauth2:
      description: JWT Authorization header using the Bearer scheme
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth/token
          scopes: {}

````