# Services

Access your services to use in Zapier automation workflows.

## List services

> Get a list of your services, sorted by most recently updated first.\
> \
> \*\*Common uses\*\*:\
> \- Display service options in dropdown menus\
> \- Sync services to other platforms\
> \- Monitor when new services are added\
> \
> Use \`updatedSince\` to get only services created or modified after a certain date.\
> \
> \*\*Note\*\*: Include \`page=1\` in your requests for proper pagination.

```json
{"openapi":"3.1.0","info":{"title":"FlowBookings Zapier Integration API","version":"2.0.0"},"tags":[{"name":"Services","description":"Access your services to use in Zapier automation workflows."}],"servers":[{"url":"https://api.flowbookings.io"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your FlowBookings API key. Generate one from Dashboard → Settings → Integrations → API Key. Include this header in every request."}},"parameters":{"PageParam":{"name":"page","in":"query","description":"Page number (starts at 1).","required":false,"schema":{"type":"integer","minimum":1,"default":1}},"LimitParam":{"name":"limit","in":"query","description":"Number of items per page (1-100). Default is 25.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},"UpdatedSinceParam":{"name":"updatedSince","in":"query","description":"Only return items created or updated after this date/time (ISO 8601 format).","required":false,"schema":{"type":"string","format":"date-time"}}},"schemas":{"PaginatedServicesResponse":{"type":"object","description":"List of services with pagination info.","required":["data","pagination"],"properties":{"data":{"type":"array","description":"Services for the current page, sorted by most recently updated first.","items":{"$ref":"#/components/schemas/Service"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"Service":{"type":"object","description":"A bookable service you offer to customers.","required":["_id","name","createdAt","updatedAt"],"properties":{"_id":{"type":"string","description":"Unique service identifier."},"name":{"type":"string","description":"Service name."},"description":{"type":"string","description":"Service description shown to customers."},"previewImage":{"type":"string","format":"uri","description":"Service image URL."},"category":{"$ref":"#/components/schemas/ServiceCategory"},"price":{"type":"number","format":"float","description":"Service price.","minimum":0},"duration":{"type":"integer","description":"Total duration in minutes.","minimum":1},"durationType":{"type":"string","enum":["Minutes","Hours","Days"],"description":"Duration unit."},"durationTypeValue":{"type":"number","description":"Duration value in the specified unit."},"capacity":{"type":"integer","description":"Maximum concurrent bookings per time slot.","minimum":1,"maximum":999},"slotIncrement":{"type":"integer","description":"Minutes between available booking time slots.","minimum":5,"maximum":120},"bufferDays":{"type":"integer","description":"Minimum days in advance customers must book.","minimum":0},"hidden":{"type":"boolean","description":"If true, service is hidden from the public booking widget."},"config":{"$ref":"#/components/schemas/ServiceConfig"},"createdAt":{"type":"string","format":"date-time","description":"When the service was created."},"updatedAt":{"type":"string","format":"date-time","description":"When the service was last updated."}}},"ServiceCategory":{"type":"object","description":"Service category grouping.","properties":{"_id":{"type":"string","description":"Category ID."},"name":{"type":"string","description":"Category name."}}},"ServiceConfig":{"type":"object","description":"Optional custom settings for this service.","properties":{"beforeBuffer":{"type":"integer","description":"Minutes to block before each appointment."},"afterBuffer":{"type":"integer","description":"Minutes to block after each appointment."},"availability":{"type":"array","description":"Custom availability schedule for this service.","items":{"type":"object"}}}},"Pagination":{"type":"object","description":"Information about the current page of results.","required":["page","limit","hasMore"],"properties":{"page":{"type":"integer","minimum":1,"description":"Current page number."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum items per page."},"hasMore":{"type":"boolean","description":"True if more pages are available."}}},"Error":{"type":"object","description":"Error information.","required":["error","messages"],"properties":{"error":{"type":"string","description":"Error type.","enum":["unauthorized","validation_error","not_found","server_error"]},"messages":{"type":"array","description":"Details about what went wrong.","items":{"type":"string"},"minItems":1}}}},"responses":{"Unauthorized":{"description":"API key is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServerError":{"description":"Something went wrong on our end. Please try again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/zapier/services":{"get":{"tags":["Services"],"operationId":"listServices","summary":"List services","description":"Get a list of your services, sorted by most recently updated first.\n\n**Common uses**:\n- Display service options in dropdown menus\n- Sync services to other platforms\n- Monitor when new services are added\n\nUse `updatedSince` to get only services created or modified after a certain date.\n\n**Note**: Include `page=1` in your requests for proper pagination.","parameters":[{"$ref":"#/components/parameters/PageParam"},{"$ref":"#/components/parameters/LimitParam"},{"$ref":"#/components/parameters/UpdatedSinceParam"}],"responses":{"200":{"description":"Services retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedServicesResponse"}}}},"400":{"description":"Invalid request parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flowbookings.io/knowledgebase/integrations/zapier-integration-guide/api-reference/services.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
