# JSON APIs Required Full Workflow

The following diagram shows the API requests in the minimum required workflow to ticket a flight in the JSON APIs. Also see [TripServices APIs Full Workflow with Optional Steps](/docs/flights/workflows/end-to-end-flows/tripservices-apis-full-workflow-with-optional-steps) and [All Book and Ticketing Workflows](/docs/flights/workflows/booking-and-ticketing/all-book-and-ticketing-workflows) for additional options.

Each box in the diagram represents one API call in the workflow.


```mermaid

flowchart TD 

    A["Search for <br/><b>flights</b>"]
    B["Price <br/>(required for some <br/>low-cost & NDC <br/>carriers)"]
    C["Create new <br/>workbench"]
    D["Add <br/>offer"]
    E["Add <br/>traveler/s"]
    F["Commit <br/>workbench; <br/>create <br/>reservation"]
    G["Create post- <br/>commit <br/>workbench"]
    H["Form of <br/>payment"]
    I["Payment"]
    J["Commit <br/>workbench; <br/>issue ticket/s"]

    A --> B --> C --> D --> E --> F --> G --> H --> I --> J

    %% Add the link to node B here
    click A "/apis/flights/searches/createairsearch" "new-tab"
    click B "/apis/flights/pricing-and-fare-rules"
```

Note that the above TripServices APIs workflow uses reference payload requests, which send identifiers to select an offer from previous TripServices API responses. Optionally, you can send the AirPrice full payload request and omit the Search request, or send an Add Offer full payload request and omit the Search and AirPrice requests. This allows you to source your flights outside the TripServices APIs and skip these steps of the TripServices workflow.