← Use spec sections guides

How to use the Accepts section

How-To Use spec sections Beginner 1061013HOWTO-1061013

HOWTO-1061013Use spec sectionsBeginner

This guide shows you how to use the Accepts section in a SpecDD .sdd file.

Accepts lists accepted inputs, input types, request shapes, parameters, or preconditions for the specified subject.

Short answer

Use Accepts to document what the subject receives or requires as input. Keep it concrete and local. Use Must for validation behavior, Raises for failures, and Returns for outputs.

Syntax

Accepts:
  place name
  trip date
  AddItineraryPlaceInput

Rules:

Steps

1. List important inputs

Simple:

Accepts:
  place name
  trip date

Typed:

Accepts:
  @AddItineraryPlaceInput

API-shaped:

Accepts:
  tripId: existing trip identifier
  body.placeName: nonempty place name

2. Include preconditions when they affect behavior

Accepts:
  Existing trip identifier.
  Place name and trip date from the itinerary form.

If the precondition becomes a behavior rule, put it in Must too.

3. Put validation failure in Raises

Accepts:
  place name

Raises:
  ItineraryPlaceRequired

Use Must for required validation:

Must:
  Reject itinerary items without a place name.

4. Avoid copying large schemas

If a schema file already exists, reference it:

References:
  ./schemas/add-itinerary-place.schema.json

Accepts:
  AddItineraryPlaceInput from the schema.

Do not paste a long schema into Accepts unless the spec really needs the local summary.

Common mistakes

How to verify the result

The Accepts section is useful when:

← Use spec sections guides