Shoalrun documentation framework
For agents
Start with https://www.shoalrun.com/llms.txt for the documentation index, then read the Markdown pages it links. Skip to article. Documentation index. Read this page as Markdown.
API reference

Create a parcel enrollmentBeta

Updated
POST/EnrollmentsView examples
Read as Markdown

Fictional API example. This page demonstrates documentation features; its operations do not describe a live service.

This reference is generated from the OpenAPI description. It shows the operation contract; follow any related guides below for task steps and context.

OpenAPI for this operation: Download JSON.

POST /Enrollments

Create a parcel enrollment

Create one of four enrollment shapes. The service accepts different required fields for each program; the examples illustrate the shapes but have not been sent to a server.

Servers

https://sandbox.api.cedar-parcel.example/v1 — Enrollment sandbox only

Authentication

API key

API key in header X-Application-Key.

Enrollment-only key.

Request body

Required.

Choose the program that matches the parcels you will dispatch.

application/json

Use exactly one of these shapes:

Local pickup · 6 properties

A shop with ordinary pickup windows.

6 properties
  • program string required ⓘ

    const: "local"

  • organization object required ⓘ

    3 properties
    • displayName string required ⓘ

      Name shown on parcel labels.

    • address object required ⓘ

      5 properties
      • line1 string required ⓘ

        Street and number.

      • line2 string optional nullable ⓘ

        Additional address line, if present.

      • city string required ⓘ

      • region string required ⓘ

      • postalCode string required ⓘ

    • registrationCode string optional nullable ⓘ

      Optional local registration code.

  • contact object required ⓘ

    3 properties
    • name string required ⓘ

    • email string required ⓘ

      format: email

    • phone string optional nullable ⓘ

  • pickupWindows list of object required ⓘ

    The windows when parcels can be collected.

    Array items:

    3 properties
    • day enum<string> required ⓘ

      Available options: "monday", "tuesday", "wednesday", "thursday", "friday"

    • opensAt string required ⓘ

      Local time in HH:mm format.

    • closesAt string required ⓘ

      Local time in HH:mm format.

  • fragileHandling boolean optional ⓘ

    default: false

  • notes string optional nullable ⓘ

Chilled goods · 6 properties

Requires a temperature range and handling instructions.

6 properties
  • program string required ⓘ

    const: "chilled"

  • organization object required ⓘ

    3 properties
    • displayName string required ⓘ

      Name shown on parcel labels.

    • address object required ⓘ

      5 properties
      • line1 string required ⓘ

        Street and number.

      • line2 string optional nullable ⓘ

        Additional address line, if present.

      • city string required ⓘ

      • region string required ⓘ

      • postalCode string required ⓘ

    • registrationCode string optional nullable ⓘ

      Optional local registration code.

  • contact object required ⓘ

    3 properties
    • name string required ⓘ

    • email string required ⓘ

      format: email

    • phone string optional nullable ⓘ

  • temperatureRange object required ⓘ

    2 properties
    • minimumCelsius number required ⓘ

    • maximumCelsius number required ⓘ

  • handlingNotes string optional ⓘ

    Instructions printed for handlers.

  • sensorRequired boolean optional ⓘ

    default: true

Bulk dispatch · 7 properties

Requires an estimated volume and manifest format.

7 properties
  • program string required ⓘ

    const: "bulk"

  • organization object required ⓘ

    3 properties
    • displayName string required ⓘ

      Name shown on parcel labels.

    • address object required ⓘ

      5 properties
      • line1 string required ⓘ

        Street and number.

      • line2 string optional nullable ⓘ

        Additional address line, if present.

      • city string required ⓘ

      • region string required ⓘ

      • postalCode string required ⓘ

    • registrationCode string optional nullable ⓘ

      Optional local registration code.

  • contact object required ⓘ

    3 properties
    • name string required ⓘ

    • email string required ⓘ

      format: email

    • phone string optional nullable ⓘ

  • monthlyParcelEstimate integer required ⓘ

    exclusiveMinimum: 0

    Example 1 (authored in OpenAPI):

    8000
    

    Example 2 (authored in OpenAPI):

    12000
    
  • manifestFormat enum<string> required ⓘ

    Available options: "csv", "json"

  • callbackUrl string optional nullable ⓘ

    format: uri

  • customMetadata any value optional nullable ⓘ

    Any value is allowed.

Combined program · 8 properties

Supplies pickup, temperature, and volume details.

8 properties
  • program string required ⓘ

    const: "combined"

  • organization object required ⓘ

    3 properties
    • displayName string required ⓘ

      Name shown on parcel labels.

    • address object required ⓘ

      5 properties
      • line1 string required ⓘ

        Street and number.

      • line2 string optional nullable ⓘ

        Additional address line, if present.

      • city string required ⓘ

      • region string required ⓘ

      • postalCode string required ⓘ

    • registrationCode string optional nullable ⓘ

      Optional local registration code.

  • contact object required ⓘ

    3 properties
    • name string required ⓘ

    • email string required ⓘ

      format: email

    • phone string optional nullable ⓘ

  • pickupWindows list of object required ⓘ

    Array items:

    3 properties
    • day enum<string> required ⓘ

      Available options: "monday", "tuesday", "wednesday", "thursday", "friday"

    • opensAt string required ⓘ

      Local time in HH:mm format.

    • closesAt string required ⓘ

      Local time in HH:mm format.

  • temperatureRange object required ⓘ

    2 properties
    • minimumCelsius number required ⓘ

    • maximumCelsius number required ⓘ

  • monthlyParcelEstimate integer required ⓘ

    minimum: 1

  • manifestFormat enum<string> required ⓘ

    Available options: "csv", "json"

  • callbackUrl string optional nullable ⓘ

    format: uri

Responses

201: Created

application/json

The enrollment was recorded. Review may still be pending.

4 properties
  • enrollmentId string always present ⓘ

  • status enum<string> always present ⓘ

    Available options: "pending", "approved", "rejected"

  • warnings list of string always present ⓘ

    Array items:

    string

  • approvedAt string always present nullable ⓘ

    format: date-time

    Always present; null until approved.

400: Bad Request

application/problem+json

The selected program is missing one or more required fields.

4 properties
  • type string always present ⓘ

    format: uri

  • title string always present ⓘ

  • status integer always present ⓘ

  • detail string may be absent ⓘ