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

# Car intake workflow

> Log a vehicle drop-off with photos through the API: look up event types, create the event, then attach photos.

A drop-off in Car Storage Software is a **car event** — the same photo session your staff create in the app — not a calendar appointment. Use these three calls to log one from another system.

**Scopes needed:** `read:cars`, `write:cars`, and `write:parking` if you assign a spot or zone.

<Steps>
  <Step title="Find the event type">
    ```bash theme={null}
    curl https://www.carstoragesoftware.com/api/v1/event-types \
      -H "Authorization: Bearer $CSS_API_KEY"
    ```

    Pick the type you need (for example, `value: "vehicle_drop_off"`). If its `config.requiresParkingSpot` is `true`, look up a spot or zone with the parking spots or parking zones endpoints first.
  </Step>

  <Step title="Create the car event">
    ```bash theme={null}
    curl -X POST https://www.carstoragesoftware.com/api/v1/cars/$CAR_ID/events \
      -H "Authorization: Bearer $CSS_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "activityType": "vehicle_drop_off",
        "parkingSpotId": "'"$SPOT_ID"'",
        "notes": "Dropped off by owner, full tank"
      }'
    ```

    For a drop-off, send exactly one of `parkingSpotId` or `parkingZoneId`. Use `occurredAt` to backdate an event. The response includes a `sessionId` — keep it for the next step.
  </Step>

  <Step title="Attach photos">
    Send one photo per request, either as base64 or as a public URL we fetch for you.

    ```bash theme={null}
    curl -X POST https://www.carstoragesoftware.com/api/v1/cars/$CAR_ID/photos \
      -H "Authorization: Bearer $CSS_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "sessionId": "'"$SESSION_ID"'",
        "filename": "front.jpg",
        "contentType": "image/jpeg",
        "sourceUrl": "https://example.com/photos/front.jpg"
      }'
    ```

    Each photo can be up to about 3 MB. Repeat the call for each photo.
  </Step>
</Steps>

<Note>
  Do not upload car photos through the marketing assets endpoints. Those are for marketing content and do not appear in the car's gallery.
</Note>


## Related topics

- [Introduction](/docs/api-reference/introduction.md)
- [Schedule an event](/docs/api-reference/schedule-an-event.md)
- [Create car event (drop-off / intake)](/docs/api-reference/cars/create-car-event-drop-off-intake.md)
- [Create operations workflows](/docs/settings/create-operations-workflows.md)
- [Add a car](/docs/cars/add-a-car.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.