Farmbrite Products > Orders API

Orders are a purchase, or a request for purchase of any products. They can be used to track future orders that need to be fulfilled or report on orders from your online shop. Additionally you can use orders to track the fulfillment progress and status to keep an eye on your delivery obligations.

GitHub OpenAPI

Operations 5

POST /orders Create an Order #
GET /orders List Orders #
GET /orders/{order_id} Retrieve an Order #
PUT /orders/{order_id} Update an Order #
DELETE /orders/{order_id} Delete an Order #

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/farmbrite:farmbrite-products-orders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

farmbrite-products-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Farmbrite API Developers Documentation Products > Orders API
  description: '# Overview


    Welcome to the Farmbrite API. You can find out more about Farmbrite at

    www.farmbrite.com


    If you need help, check out our help center at help.farmbrite.com or email us at dev@farmbrite.com. ## API Reference


    The Farmbrite API allows authorized users programatic access to their account data in order to facilitate the integration of this data with other systems and service. The API is organized around REST standards. The API uses resource-oriented URLs and returns JSON-encoded responses. It uses standard HTTP response codes, authentication, and verbs. > Base URL


    ```

    https://api.farmbrite.com/v1


    ```


    # Authentication


    Farmbrite offers 2 authentication options for accessing the API both utilizing Personal Access Tokens (PATs) for enabling access to the API. Access Tokens (API Keys) are associated with an individual user in your account and inherit that user''s role and permissions. You can find the Access Token on the user profile page under API Key. When building an integration we recommend setting up a separate API user for the integration and changing the API KEY on a regular basis. Remember to keep your Access Tokens secret; treat them just like passwords! They act on your behalf when interacting with the API, with the same permissions and access as the user has. _Don''t hardcode them into your programs_. Instead, choose to store them as environment variables. ### Bearer Token


    To make a request to the API include the Authorization Bearer header with your request and include your Access Token (API KEY) as the value. Access Token and API KEY are used interchangeably through out the documentation. > Example cURL request authenticating with Bearer Token authentication


    ```

    curl https://api.farmbrite.com/v1/tasks \

    -H "Authorization: Bearer ACCESS_TOKEN"


    ```


    ### API Key


    Alternatively to using the Bearer Token authorization method, you can provide an API KEY as a header with your request. Use the header `api_key` with a value of your Access Token (API KEY). > Example cURL request authenticating with API Key header authentication


    ```

    curl https://api.farmbrite.com/v1/tasks \

    -H "api_key: ACCESS_TOKEN"


    ```


    # Errors


    Sadly, sometimes requests to the API fail. Failures can occur for a wide range of reasons. In all cases, the API should return an HTTP Status Code indicating the nature of the failure. | Code | Meaning | Description |

    | --- | --- | --- |

    | 200 | Success | The request was successful. If applicable the data it will be available in the data field at the top level of the response body. |

    | 400 | Bad Request | Typically caused by a missing or malformed parameter. Check the documentation and your request and try again. |

    | 401 | Unauthorized | No access token or an invalid access token was provided with the request. The error can also occur if the user or account is invalid or does not have access to this resource. |

    | 403 | Forbidden | The authentication and request syntax was valid but the server is refusing to complete the request. This can happen if you access resources that the user or account does not have access to. |

    | 404 | Not Found | Either the method and path supplied do not specify a known action or the object related to the request does not exist. |

    | 429 | Too Many Requests | You have exceeded one of the rate limits in the API. See the Rate Limits section for more information. |

    | 500 | Internal Server Error | There was a problem on Farmbrite''s side which was logged and reported to our technical team. You can retry, but if the problem continues please contact support. |


    Details about errors can sometimes also be found in the ''message'' property at the root level of the JSON response body. # Pagination


    In order to optimize performance, all list methods in the API will limit the total response data to a certain number of records and return the data in chunks (pages). API responses will include information about the total records available, the current page and total pages.'
  version: 1.0.0
  x-logo:
    url: https://static.farmbrite.com/assets/www/images/logo.png
    backgroundColor: '#FFFFFF'
    altText: Farmbrite
  termsOfService: https://www.farmbrite.com/terms
  contact:
    name: Farmbrite
    url: https://developers.farmbrite.com
    email: dev@farmbrite.com
servers:
- url: https://api.farmbrite.com/v1
security:
- bearerAuth: []
tags:
- name: Products > Orders
  description: Orders are a purchase, or a request for purchase of any products. They can be used to track future orders that need to be fulfilled or report on orders from your online shop. Additionally you can use orders to track the fulfillment progress and status to keep an eye on your delivery obligations.
paths:
  /orders:
    post:
      tags:
      - Products > Orders
      summary: Create an Order
      description: 'Create an Order


        ### Parameters


        **status** `REQUIRED`


        Status of the order. Supported options are:


        > "Approved", "Cancelled", "Complete", "Delivered", "Draft", "In Progress", "On Hold","Ordered", "Packing", "Pending Approval", "Picking", "Ready", "Shipped"


        **Defaults to** **`Draft`**


        ---


        **payment_status** `REQUIRED`


        Payment status of the order, supported options are:


        > "Due", "Paid", "Cancelled"


        **Defaults to** **`Due`**


        ---


        **order_items** `OPTIONAL`


        An array of order items that contain the details for the order, for example:


        > \[{ "description": "Order Item 1", "price": 1.0, "product_id": "Farmbrite Product ID", "qty": 12.0 },{...}\]


        If passed in the order total will be calculated from the order items.


        ---


        **contact_id** `OPTIONAL`


        The Farmbrite ID for the contact to link the order to


        ---


        **email** `OPTIONAL`


        Email address of the customer


        ---


        **first_name** `OPTIONAL`


        First name of the customer


        ---


        **last_name** `OPTIONAL`


        Last name of the customer


        ---


        **phone** `OPTIONAL`


        Phone number of the customer


        ---


        **payment_method** `OPTIONAL`


        Order payment method. Supported options are:


        > "Credit Card", "Cash", "Check", "Other"


        ---


        **tax_rate** `OPTIONAL`


        Numeric value for the total tax rate (percentage) to apply to the order, if applicable


        ---


        **taxes_amount** `OPTIONAL`


        Numeric currency amount for the total tax amount to apply to this order, if applicable


        ---


        **delivery_amount** `OPTIONAL`


        Numeric value for the deliver fee if applicable


        ---


        **discount_amount** `OPTIONAL`


        Numeric (float) amount of discount if offering discount on total order if applicable


        ---


        **discount_reason** `OPTIONAL`


        String describing the reason for the discount


        ---


        **message** `OPTIONAL`


        Optional string message from the customer


        ---


        **due_date** `OPTIONAL`


        Date that the order is due


        ---


        **order_date** `OPTIONAL`


        Date the order was placed or created, defaults to today


        ---


        **invoice_number** `OPTIONAL`


        Optional invoice number, leave blank to have the system generate it for you. Must be a unique value.


        ---


        **note** `OPTIONAL`


        Optional customer message for this order


        ---


        memo `OPTIONAL`


        Optional internal memo for this order


        ---


        **delivery_type** `OPTIONAL`


        Deliver option for this order, supported values are:


        > ''Delivery'', ''Pick up'', ''Shipped''


        ---


        **pickup_location_id** `OPTIONAL`


        The Farmbrite ID for a pickup location for the order


        ---


        **is_admin** `OPTIONAL`


        Boolean value indicating if this order was a back office order, as opposed to created through your online store front.


        ---


        **po_number** `OPTIONAL`


        Optional purchase order (PO) number to include with the order.


        ---


        picked_up_by `OPTIONAL`


        Optional string value for who picked up the order.


        ---


        prepared_by `OPTIONAL`


        Optional string value for who prepared the order.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                contact_id: Farmbrite Contact ID
                delivery_amount: 5
                delivery_type: Pick Up
                due_date: null
                email: name@email.com
                first_name: Jane
                last_name: Smith
                memo: Internal memo
                message: API order
                note: Customer message
                order_date: '2026-07-01'
                order_items:
                - description: Product name or description
                  price: 1
                  product_id: Farmbrite Product ID
                  qty: 12
                payment_method: Cash
                payment_status: Paid
                phone: (555)867-5309
                pickup_location_id: null
                po_number: PO123
                status: Ordered
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: postOrders
      x-operation-id-source: derived
    get:
      tags:
      - Products > Orders
      summary: List Orders
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                success: true
                cached: false
                message: ''
                total_records: 151
                current_page: 1
                limit: 25
                total_pages: 7
                data:
                - id: GUID
                  contact_id: Contact ID
                  created_at: '2021-07-12 23:25:14'
                  created_by: User
                  delivery_amount: 0
                  delivery_type: ''
                  discount_amount: 0
                  discount_reason: null
                  due_date: null
                  invoice_number: 908b8c4524
                  is_admin: true
                  message: null
                  note: ''
                  order_date: '2021-09-19'
                  order_total: 722.25
                  payment_method: ''
                  payment_status: Due
                  pick_list: null
                  po_number: null
                  status: Ordered
                  stripe_id: null
                  tax_rate: null
                  taxes_amount: 0
                  updated_at: '2021-09-19 21:43:29'
      operationId: getOrders
      x-operation-id-source: derived
  /orders/{order_id}:
    get:
      tags:
      - Products > Orders
      summary: Retrieve an Order
      parameters:
      - name: order_id
        in: path
        schema:
          type: string
        required: true
        example: '{{order_id}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                id: GUID
                cart_id: null
                charge_subtotal: 0
                charge_total: 0
                contact_id: Contact GUID
                created_at: '2024-01-08 19:35:05'
                created_by: User
                delivery_amount: 0
                delivery_type: Delivery
                discount_amount: 0
                discount_reason: null
                due_date: null
                email: example@email.com
                first_name: Jane
                invoice_number: '1377'
                is_admin: true
                is_quickpay: false
                last_name: Doe
                message: null
                note: ''
                order_date: '2024-01-08'
                order_total: 6
                payment_method: ''
                payment_status: Due
                phone: '5558675309'
                pick_list: null
                pickup_location_id: null
                po_number: ''
                status: Ordered
                stripe_id: null
                tax_rate: null
                taxes_amount: 0
                updated_at: '2024-01-08 19:53:33'
                order_items:
                - description: Dozen Eggs
                  is_wholesale: false
                  price: 6
                  product_id: 5731e79c38221c4a80000001
                  qty: 1
                  total: 12
                delivery_address:
                  city: Boulder
                  country: us
                  postal: '80301'
                  state: CO
                  street: 123 Main St.
                contact:
                  id: Contact GUID
                  cell: null
                  company: ''
                  description: ''
                  email: example@email.com
                  fax: null
                  first_name: Jane
                  label: ''
                  last_name: Doe
                  phone: '5558675309'
                  type: Customer
      operationId: getOrdersByOrderId
      x-operation-id-source: derived
    put:
      tags:
      - Products > Orders
      summary: Update an Order
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                status: Pending Approval
                payment_status: Due
                order_items:
                - id: Farmbrite Order Item ID
                  description: Item Description
                  price: 25
                  product_id: Farmbrite Product ID
                  qty: 3
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      - name: order_id
        in: path
        schema:
          type: string
        required: true
        example: '{{order_id}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: putOrdersByOrderId
      x-operation-id-source: derived
    delete:
      tags:
      - Products > Orders
      summary: Delete an Order
      parameters:
      - name: order_id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: deleteOrdersByOrderId
      x-operation-id-source: derived
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer