> ## Documentation Index
> Fetch the complete documentation index at: https://offergrid.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Provider API Reference

> Every provider endpoint — offers, orders, markets, webhooks, brands, and customers

The Provider API is how a service provider publishes offers and fulfills the orders resellers place against them. Every endpoint below links to its full reference page with parameters, schemas, and a request builder.

<Info>
  **Base URL** `https://api.offergrid.io`

  **Authentication** `x-api-key: YOUR_TEAM_API_KEY` on every request — see [Authentication](/docs/api-reference/authentication).

  **OpenAPI spec** [`openapi-provider.json`](/docs/openapi/openapi-provider.json)
</Info>

## Provider Brands

| Endpoint                                                                                               | Method   | Path                    | What it does                                                                   |
| ------------------------------------------------------------------------------------------------------ | -------- | ----------------------- | ------------------------------------------------------------------------------ |
| [Create a brand](/docs/provider-api-reference/provider-brands/create-a-brand)                               | `POST`   | `/provider/brands`      | Brands are the visual identity offers display under instead of your team name. |
| [List all brands for your team](/docs/provider-api-reference/provider-brands/list-all-brands-for-your-team) | `GET`    | `/provider/brands`      |                                                                                |
| [Get a brand by id](/docs/provider-api-reference/provider-brands/get-a-brand-by-id)                         | `GET`    | `/provider/brands/{id}` |                                                                                |
| [Update a brand](/docs/provider-api-reference/provider-brands/update-a-brand)                               | `PATCH`  | `/provider/brands/{id}` | Renaming or re-logoing a brand changes it for every offer displaying it.       |
| [Delete an unused brand](/docs/provider-api-reference/provider-brands/delete-an-unused-brand)               | `DELETE` | `/provider/brands/{id}` | Only brands no offer references can be deleted.                                |

## Provider Customers

| Endpoint                                                                              | Method | Path                               | What it does                                                                          |
| ------------------------------------------------------------------------------------- | ------ | ---------------------------------- | ------------------------------------------------------------------------------------- |
| [List customers](/docs/provider-api-reference/provider-customers/list-customers)           | `GET`  | `/provider/customers`              | Customers are people who have placed an order for one of your offers.                 |
| [Get customer detail](/docs/provider-api-reference/provider-customers/get-customer-detail) | `GET`  | `/provider/customers/{customerId}` | Detail view of a customer including the order items they have placed for your offers. |

## Provider Markets

| Endpoint                                                                                                        | Method   | Path                                    | What it does            |
| --------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------- | ----------------------- |
| [Create a market](/docs/provider-api-reference/provider-markets/create-a-market)                                     | `POST`   | `/provider/markets`                     |                         |
| [List all markets for your team](/docs/provider-api-reference/provider-markets/list-all-markets-for-your-team)       | `GET`    | `/provider/markets`                     |                         |
| [Get a market by id](/docs/provider-api-reference/provider-markets/get-a-market-by-id)                               | `GET`    | `/provider/markets/{id}`                |                         |
| [Update a market](/docs/provider-api-reference/provider-markets/update-a-market)                                     | `PATCH`  | `/provider/markets/{id}`                |                         |
| [Delete a market](/docs/provider-api-reference/provider-markets/delete-a-market)                                     | `DELETE` | `/provider/markets/{id}`                |                         |
| [Add a geographic area to a market](/docs/provider-api-reference/provider-markets/add-a-geographic-area-to-a-market) | `POST`   | `/provider/markets/{id}/areas`          | Areas compose a market. |
| [Remove an area from a market](/docs/provider-api-reference/provider-markets/remove-an-area-from-a-market)           | `DELETE` | `/provider/markets/{id}/areas/{areaId}` |                         |

## Provider Offers

Provider: Manage your service offerings

| Endpoint                                                                                                                                         | Method   | Path                                    | What it does                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| [Create a new offer](/docs/provider-api-reference/provider-offers/create-a-new-offer)                                                                 | `POST`   | `/provider/offers`                      | Create a new service offering as a provider.                                                                                      |
| [List all your offers](/docs/provider-api-reference/provider-offers/list-all-your-offers)                                                             | `GET`    | `/provider/offers`                      | Retrieve all offers created by your provider team.                                                                                |
| [Get a specific offer](/docs/provider-api-reference/provider-offers/get-a-specific-offer)                                                             | `GET`    | `/provider/offers/{id}`                 | Retrieve details of a specific offer you created.                                                                                 |
| [Update an offer](/docs/provider-api-reference/provider-offers/update-an-offer)                                                                       | `PATCH`  | `/provider/offers/{id}`                 | Update an existing offer.                                                                                                         |
| [Delete an offer](/docs/provider-api-reference/provider-offers/delete-an-offer)                                                                       | `DELETE` | `/provider/offers/{id}`                 | Permanently delete an offer.                                                                                                      |
| [Publish an offer](/docs/provider-api-reference/provider-offers/publish-an-offer)                                                                     | `POST`   | `/provider/offers/{id}/publish`         | Validate an offer against the publish-readiness rules and, if it passes, set its status to active.                                |
| [Duplicate an offer](/docs/provider-api-reference/provider-offers/duplicate-an-offer)                                                                 | `POST`   | `/provider/offers/{id}/duplicate`       | Create a new draft offer pre-filled from an existing one.                                                                         |
| [Download CSV template for bulk offer upload](/docs/provider-api-reference/provider-offers/download-csv-template-for-bulk-offer-upload)               | `GET`    | `/provider/offers/bulk-upload/template` | Download a CSV template file with headers and an example row.                                                                     |
| [Bulk upload offers from CSV](/docs/provider-api-reference/provider-offers/bulk-upload-offers-from-csv)                                               | `POST`   | `/provider/offers/bulk-upload`          | Upload a CSV file to create multiple offers at once.                                                                              |
| [Validate CSV file without creating offers](/docs/provider-api-reference/provider-offers/validate-csv-file-without-creating-offers)                   | `POST`   | `/provider/offers/bulk-upload/validate` | Upload a CSV file to validate its structure and data without actually creating offers.                                            |
| [Bulk update offers from CSV](/docs/provider-api-reference/provider-offers/bulk-update-offers-from-csv)                                               | `POST`   | `/provider/offers/bulk-update`          | Upload a CSV file to update multiple existing offers at once, using the same template as bulk upload (GET /bulk-upload/template). |
| [Validate a bulk-update CSV without updating offers](/docs/provider-api-reference/provider-offers/validate-a-bulk-update-csv-without-updating-offers) | `POST`   | `/provider/offers/bulk-update/validate` | Upload a CSV file to validate it against the bulk-update rules without writing anything.                                          |

## Provider Orders

Provider: Fulfill orders from resellers

| Endpoint                                                                                           | Method  | Path                               | What it does                                                                               |
| -------------------------------------------------------------------------------------------------- | ------- | ---------------------------------- | ------------------------------------------------------------------------------------------ |
| [List order items to fulfill](/docs/provider-api-reference/provider-orders/list-order-items-to-fulfill) | `GET`   | `/provider/orders`                 | Retrieve all order items for your offers that need fulfillment.                            |
| [Get order item details](/docs/provider-api-reference/provider-orders/get-order-item-details)           | `GET`   | `/provider/orders/{itemId}`        | Retrieve detailed information about a specific order item for fulfillment.                 |
| [Update order item status](/docs/provider-api-reference/provider-orders/update-order-item-status)       | `PATCH` | `/provider/orders/{itemId}/status` | Update the fulfillment status of an order item (e.g., accept, reject, schedule, complete). |

## Provider Webhooks

Provider: Receive order events for your offers

| Endpoint                                                                                                                                                       | Method   | Path                                 | What it does                                                           |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------ | ---------------------------------------------------------------------- |
| [Register a webhook](/docs/provider-api-reference/provider-webhooks/register-a-webhook)                                                                             | `POST`   | `/provider/webhooks`                 | Register an HTTPS endpoint to receive signed order-event deliveries.   |
| [List your registered webhooks](/docs/provider-api-reference/provider-webhooks/list-your-registered-webhooks)                                                       | `GET`    | `/provider/webhooks`                 | Secrets are masked — the full value is only ever returned at creation. |
| [Get a webhook by id](/docs/provider-api-reference/provider-webhooks/get-a-webhook-by-id)                                                                           | `GET`    | `/provider/webhooks/{id}`            |                                                                        |
| [Update a webhook (url, subscribed events, or active state)](/docs/provider-api-reference/provider-webhooks/update-a-webhook-url-subscribed-events-or-active-state) | `PATCH`  | `/provider/webhooks/{id}`            |                                                                        |
| [Delete a webhook](/docs/provider-api-reference/provider-webhooks/delete-a-webhook)                                                                                 | `DELETE` | `/provider/webhooks/{id}`            |                                                                        |
| [List recent delivery attempts for a webhook](/docs/provider-api-reference/provider-webhooks/list-recent-delivery-attempts-for-a-webhook)                           | `GET`    | `/provider/webhooks/{id}/deliveries` |                                                                        |

## Conventions

Every endpoint on this page follows the shared [API conventions](/docs/api-reference/conventions) for list responses, identifiers, timestamps, and money, and the shared [error format](/docs/api-reference/errors).
