LaFourchette Booking flow API

The Booking flow API from LaFourchette — 8 operation(s) for booking flow.

Operations 8

PATCH /v1/reservations/{id} #
PATCH /v1/reservations/{id}/cancel #
GET /v1/restaurants/{id}/availabilities #
PUT /v1/restaurants/{id}/availabilities/override #
GET /v1/restaurants/{id}/offers #
GET /v1/restaurants/{id}/partySizes #
POST /v1/restaurants/{id}/reservations #
GET /v1/restaurants/{id}/timeslots #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lafourchette-booking-flow-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lafourchette-booking-flow-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TheFork B2B Booking flow API
  version: 1.0.0
  description: TheFork (LA FOURCHETTE SAS) B2B / Partners API for TheFork Manager (TFM). Lets restaurant groups, CRM platforms and third-party partners read customers, reservations and reviews, drive the booking funnel (availabilities, offers, party sizes, timeslots, create/update/cancel reservations), reply to reviews, and run call-centre caller recognition. Access is granted by TheFork; authentication is an Auth0 client-credentials access token presented as a bearer token (audience https://api.thefork.io).
  contact:
    name: TheFork integrations team
    email: integrations@thefork.com
    url: https://docs.thefork.io/
  termsOfService: https://docs.thefork.io/pdf/LaFourchette-Partners-API-Licence-2.pdf
  x-provenance: Reconstructed by API Evangelist from the OpenAPI operation objects TheFork itself publishes in the compiled assets of its Docusaurus developer portal (docs.thefork.io, docusaurus-plugin-openapi-docs). TheFork does not serve a single downloadable OpenAPI document at any probed URL; every path, operationId, parameter, request body, response and schema below is verbatim provider content decoded from those published page bundles. Nothing here was authored by API Evangelist.
  x-source-title: B2B-API specifications
servers:
- url: https://api.thefork.io/manager
tags:
- name: Booking flow
paths:
  /v1/reservations/{id}:
    patch:
      operationId: patchV1ReservationsId
      tags:
      - Booking flow
      description: Update a reservation meal date and party size.
      parameters:
      - schema:
          type: string
          format: uuid
          description: reservation uuid
          example: cf5946cc-bde0-4cb1-bca5-7b59f66a5c94
        required: true
        description: reservation uuid
        name: id
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                mealDate:
                  type:
                  - string
                  - 'null'
                  description: Reservation meal date
                  example: '2022-01-03T18:10:17.269Z'
                partySize:
                  type: integer
                  description: Number of person attending to the reservation
                  example: 2
                  exclusiveMinimum: 0
              required:
              - mealDate
              - partySize
              additionalProperties: false
      responses:
        '200':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  reservationUuid:
                    type: string
                    format: uuid
                    description: 'reservation uuid '
                    example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  restaurantUuid:
                    type: string
                    format: uuid
                    description: 'restaurant uuid '
                    example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  mealDate:
                    type:
                    - string
                    - 'null'
                    description: Reservation meal date
                    example: '2022-01-03T18:10:17.269Z'
                  mealStatus:
                    type:
                    - string
                    - 'null'
                    description: Represents steps for the meal while diner is at the table. Meal statuses do not follow any specific flow.
                    enum:
                    - PARTIALLY_ARRIVED
                    - ARRIVED
                    - SEATED
                    - BILL
                    - LEFT
                    example: ARRIVED
                  partySize:
                    type: integer
                    description: Number of person attending to the reservation
                    example: 2
                    exclusiveMinimum: 0
                  status:
                    type: string
                    enum:
                    - RECORDED
                    - CANCELED
                    - NO_SHOW
                    - REQUESTED
                    - REFUSED
                    description: "- Reservation status\n-\n- Main statuses\n  - \\- RECORDED: most frequent status, reservation is confirmed\n  - \\- CANCELED: reservation has been canceled\n  - \\- NO_SHOW: reservation has been flagged as no-show\n-\n- Secondary statuses\n  - \\- REQUESTED: Reservation is waiting for a an action from the restaurant (on request booking or Waitlist) - not confirmed yet\n  - \\- REFUSED: final state if a requested reservation has been declined by the restaurant"
                    example: RECORDED
                  offerUuid:
                    type:
                    - string
                    - 'null'
                    format: uuid
                    example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  customerNote:
                    type:
                    - string
                    - 'null'
                    maxLength: 1000
                    description: Special request field that the diner can enter while making the reservation
                    example: note by the customer
                  restaurantNote:
                    type:
                    - string
                    - 'null'
                    maxLength: 3000
                    description: Internal notes for the restaurant staff
                    example: note by the restaurant
                  customer:
                    type:
                    - object
                    - 'null'
                    properties:
                      customerUuid:
                        type: string
                        format: uuid
                        description: Customer UUID
                        example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                      email:
                        type:
                        - string
                        - 'null'
                        example: john@example.com
                      firstName:
                        type:
                        - string
                        - 'null'
                        example: Doe
                      lastName:
                        type:
                        - string
                        - 'null'
                        example: John
                      phone:
                        type:
                        - string
                        - 'null'
                        example: '+33612345678'
                      locale:
                        type:
                        - string
                        - 'null'
                        pattern: ^([a-z]{2,3})(?:_([A-Z]{2}))?$
                        example: fr_FR
                      civility:
                        type:
                        - string
                        - 'null'
                        example: mr
                      optins:
                        type: object
                        properties:
                          restaurantNewsletter:
                            type: boolean
                            default: false
                            description: Optin the diner to the restaurant newsletter, when false is provided it will not unsubscribe the diner
                            example: true
                        default:
                          restaurantNewsletter: false
                        additionalProperties: false
                    required:
                    - customerUuid
                    - email
                    - firstName
                    - lastName
                    - phone
                    - locale
                    - civility
                    additionalProperties: false
                required:
                - reservationUuid
                - restaurantUuid
                - mealDate
                - partySize
                - status
                - customer
                additionalProperties: false
        '401':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - ''
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Unauthorized
                  statusCode:
                    type: number
                    enum:
                    - 401
                required:
                - data
                - error
                - statusCode
        '404':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - RESERVATION_NOT_FOUND
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Not Found
                  statusCode:
                    type: number
                    enum:
                    - 404
                required:
                - data
                - error
                - statusCode
        '409':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - DOUBLE_BOOKING
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Conflict
                  statusCode:
                    type: number
                    enum:
                    - 409
                required:
                - data
                - error
                - statusCode
      x-source-page: https://docs.thefork.io/B2B-API/API specifications/patch-v-1-reservations-id-e25
      x-source-asset: https://docs.thefork.io/assets/js/a8fbf7bc.68c6887c.js
  /v1/reservations/{id}/cancel:
    patch:
      operationId: patchV1ReservationsIdCancel
      tags:
      - Booking flow
      description: Cancel a reservation.
      parameters:
      - schema:
          type: string
          format: uuid
          description: 'reservation uuid '
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        required: true
        description: 'reservation uuid '
        name: id
        in: path
      responses:
        '200':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  reservationUuid:
                    type: string
                    format: uuid
                    description: 'reservation uuid '
                    example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  restaurantUuid:
                    type: string
                    format: uuid
                    description: 'restaurant uuid '
                    example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  mealDate:
                    type:
                    - string
                    - 'null'
                    description: Reservation meal date
                    example: '2022-01-03T18:10:17.269Z'
                  partySize:
                    type: integer
                    description: Number of person attending to the reservation
                    example: 2
                    exclusiveMinimum: 1
                  status:
                    type: string
                    enum:
                    - RECORDED
                    - CANCELED
                    - NO_SHOW
                    - REQUESTED
                    - REFUSED
                    description: Reservation status
                    example: RECORDED
                  offerUuid:
                    type:
                    - string
                    - 'null'
                    format: uuid
                    example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  customerNote:
                    type:
                    - string
                    - 'null'
                    description: Special request field that the diner can enter text in while making the reservation
                    example: note by the customer
                  customerUuid:
                    type:
                    - string
                    - 'null'
                    format: uuid
                    description: customer uuid
                    example: 3fa85f64-5717-4562-b3fc-2c963f66afb3
                required:
                - reservationUuid
                - restaurantUuid
                - mealDate
                - partySize
                - status
                additionalProperties: false
        '400':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - CANCELLATION_ERROR
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Bad Request
                  statusCode:
                    type: number
                    enum:
                    - 400
                required:
                - data
                - error
                - statusCode
        '401':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - ''
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Unauthorized
                  statusCode:
                    type: number
                    enum:
                    - 401
                required:
                - data
                - error
                - statusCode
        '404':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - RESERVATION_NOT_FOUND
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Not Found
                  statusCode:
                    type: number
                    enum:
                    - 404
                required:
                - data
                - error
                - statusCode
        '409':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - DOUBLE_CANCELLATION
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Conflict
                  statusCode:
                    type: number
                    enum:
                    - 409
                required:
                - data
                - error
                - statusCode
      x-source-page: https://docs.thefork.io/B2B-API/API specifications/patch-v-1-reservations-id-cancel-788
      x-source-asset: https://docs.thefork.io/assets/js/9a309802.82545e3e.js
  /v1/restaurants/{id}/availabilities:
    get:
      operationId: getV1RestaurantsIdAvailabilities
      tags:
      - Booking flow
      description: Get list of availabilities for a given restaurant and date range.
      parameters:
      - schema:
          type: string
          format: uuid
          description: restaurant uuid that needs to be considered for filter
          example: c564869f-225a-4cb6-b124-2214a6216ec1
        required: true
        description: restaurant uuid that needs to be considered for filter
        name: id
        in: path
      - schema:
          type: string
          format: date
          description: start date that needs to be considered for filter
          example: '2022-01-01'
        required: true
        description: start date that needs to be considered for filter
        name: startDate
        in: query
      - schema:
          type: string
          format: uuid
          description: offer uuid that may be considered for filter
          example: a114c986-9d5b-4c34-a86b-427137dae3d4
        required: false
        description: offer uuid that may be considered for filter
        name: offerUuid
        in: query
      - schema:
          type: string
          format: date
          description: end date that needs to be considered for filter
          example: '2022-09-02'
        required: true
        description: end date that needs to be considered for filter
        name: endDate
        in: query
      - schema:
          type: number
          description: party size that may be considered for filter
          example: 2
          exclusiveMinimum: 0
        required: false
        description: party size that may be considered for filter
        name: partySize
        in: query
      responses:
        '200':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    date:
                      type: string
                      description: availalable date
                      example: '2022-01-01'
                    offerList:
                      type:
                      - array
                      - 'null'
                      items:
                        type: string
                        format: uuid
                        example: a114c986-9d5b-4c34-a86b-427137dae3d4
                      description: list of offer uuid
                    hasNormalStock:
                      type: boolean
                      description: Has availability for reservation without offer
                      example: true
                  required:
                  - date
                  - hasNormalStock
                  additionalProperties: false
        '401':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - ''
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Unauthorized
                  statusCode:
                    type: number
                    enum:
                    - 401
                required:
                - data
                - error
                - statusCode
        '409':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - DOUBLE_BOOKING
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Conflict
                  statusCode:
                    type: number
                    enum:
                    - 409
                required:
                - data
                - error
                - statusCode
      x-source-page: https://docs.thefork.io/B2B-API/API specifications/get-v-1-restaurants-id-availabilities-d7b
      x-source-asset: https://docs.thefork.io/assets/js/fac63e84.55151770.js
  /v1/restaurants/{id}/availabilities/override:
    put:
      operationId: putV1RestaurantsIdAvailabilitiesOverride
      tags:
      - Booking flow
      description: Override online availability for a given restaurant, date, and time range.
      parameters:
      - schema:
          type: string
          format: uuid
          description: Restaurant UUID
          example: c564869f-225a-4cb6-b124-2214a6216ec1
        required: true
        description: Restaurant UUID
        name: id
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type: string
                  format: date
                  description: Date to override availability for (YYYY-MM-DD)
                  example: '2026-06-01'
                startTime:
                  type: string
                  description: First timeslot start to close/open (HH:mm, inclusive)
                  example: '19:00'
                endTime:
                  type: string
                  description: Last timeslot start to close/open (HH:mm, inclusive). If omitted, applies only to startTime. The affected interval is [startTime, endTime + slot spacing), so the slot starting at endTime is included.
                  example: '21:30'
                isOpen:
                  type: boolean
                  default: false
                  description: true = open, false = close
                  example: false
              required:
              - date
              - startTime
              additionalProperties: false
      responses:
        '200':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  restaurantUuid:
                    type: string
                    format: uuid
                    example: c564869f-225a-4cb6-b124-2214a6216ec1
                  date:
                    type: string
                    format: date
                    example: '2026-06-01'
                  startTime:
                    type: string
                    example: '19:00'
                  endTime:
                    type: string
                    example: '21:30'
                  isOpen:
                    type: boolean
                    example: false
                required:
                - restaurantUuid
                - date
                - startTime
                - endTime
                - isOpen
                additionalProperties: false
        '401':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - ''
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Unauthorized
                  statusCode:
                    type: number
                    enum:
                    - 401
                required:
                - data
                - error
                - statusCode
        '404':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - RESTAURANT_NOT_FOUND
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Not Found
                  statusCode:
                    type: number
                    enum:
                    - 404
                required:
                - data
                - error
                - statusCode
      x-source-page: https://docs.thefork.io/B2B-API/API specifications/put-v-1-restaurants-id-availabilities-override-909
      x-source-asset: https://docs.thefork.io/assets/js/0f07e7f9.6f0485d0.js
  /v1/restaurants/{id}/offers:
    get:
      operationId: getV1RestaurantsIdOffers
      tags:
      - Booking flow
      description: Get list of offers for a given restaurant id.
      parameters:
      - schema:
          type: string
          format: uuid
          description: restaurant uuid that needs to be considered for filter
          example: c564869f-225a-4cb6-b124-2214a6216ec1
        required: true
        description: restaurant uuid that needs to be considered for filter
        name: id
        in: path
      - schema:
          type: string
          pattern: ^([a-z]{2,3})(?:_([A-Z]{2}))?$
          example: fr_FR
        required: true
        name: locale
        in: query
      responses:
        '200':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uuid:
                      type: string
                      format: uuid
                      description: Offer UUID
                      example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    name:
                      type:
                      - string
                      - 'null'
                      description: Name offer
                      example: Offer name
                    description:
                      type:
                      - string
                      - 'null'
                      description: Description offer
                      example: Offer description
                    price:
                      type:
                      - number
                      - 'null'
                      description: Price offer
                      example: 10
                  required:
                  - uuid
                  additionalProperties: false
        '401':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - ''
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Unauthorized
                  statusCode:
                    type: number
                    enum:
                    - 401
                required:
                - data
                - error
                - statusCode
        '404':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - RESTAURANT_NOT_FOUND
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Not Found
                  statusCode:
                    type: number
                    enum:
                    - 404
                required:
                - data
                - error
                - statusCode
      x-source-page: https://docs.thefork.io/B2B-API/API specifications/get-v-1-restaurants-id-offers-c32
      x-source-asset: https://docs.thefork.io/assets/js/1e10e7d1.8c45c0f2.js
  /v1/restaurants/{id}/partySizes:
    get:
      operationId: getV1RestaurantsIdPartySizes
      tags:
      - Booking flow
      description: Get list of party sizes for which there is availability on a given restaurant and date range.
      parameters:
      - schema:
          type: string
          format: uuid
          description: restaurant uuid that needs to be considered for filter
          example: c564869f-225a-4cb6-b124-2214a6216ec1
        required: true
        description: restaurant uuid that needs to be considered for filter
        name: id
        in: path
      - schema:
          type: string
          format: date
          description: start date that needs to be considered for filter
          example: '2022-01-01'
        required: true
        description: start date that needs to be considered for filter
        name: startDate
        in: query
      - schema:
          type: string
          format: date
          description: end date that needs to be considered for filter
          example: '2022-09-02'
        required: true
        description: end date that needs to be considered for filter
        name: endDate
        in: query
      - schema:
          type: string
          format: uuid
          description: offer uuid that may be considered for filter
          example: a114c986-9d5b-4c34-a86b-427137dae3d4
        required: false
        description: offer uuid that may be considered for filter
        name: offerUuid
        in: query
      responses:
        '200':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: number
                example:
                - 1
                - 2
                - 3
                - 9
                - 10
        '401':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                        - ''
                    required:
                    - code
                  error:
                    type: string
                    enum:
                    - Unauthorized
                  statusCode:
                    type: number
                    enum:
                    - 401
                required:
                - data
                - error
                - statusCode
        '404':
          description: Object with user data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      code:
 

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lafourchette/refs/heads/main/openapi/lafourchette-booking-flow-api-openapi.yml