# Guile > Developer documentation for the Guile API platform. ## Docs - [Appointments Overview](https://docs.guile.app/api-reference/Appointments/overview.md): Manage appointments and recurring appointments for barbers and customers on Guile - [Authentication Overview](https://docs.guile.app/api-reference/Authentication/overview.md): Learn how authentication works in the Guile platform - [Passkey Authentication](https://docs.guile.app/api-reference/Authentication/passkeys.md): Learn how to implement secure, passwordless authentication with passkeys - [Businesses Overview](https://docs.guile.app/api-reference/Businesses/overview.md): Manage business registration and payment processing on Guile - [Payouts Overview](https://docs.guile.app/api-reference/Payouts/overview.md): Manage instant and scheduled payouts for businesses on Guile - [Photos Overview](https://docs.guile.app/api-reference/Photos/overview.md): Upload and manage photos on the Guile platform with assignment to services, shops, and barber profiles - [Services Overview](https://docs.guile.app/api-reference/Services/overview.md): Manage shop services and barber service assignments on Guile. Services are created at the shop level and then assigned to individual barbers with optional price and visibility overrides. - [Approve a photo](https://docs.guile.app/api-reference/admin/approve-a-photo.md): Approve a pending photo so it can be assigned to resources. This operation is idempotent - approving an already approved photo returns success. Once approved, the photo can be assigned to services, shops, or barber profiles. - [Create a barber profile](https://docs.guile.app/api-reference/admin/create-a-barber-profile.md): Create a barber profile for a user with the provided email and phone number. - [Create a new review tag](https://docs.guile.app/api-reference/admin/create-a-new-review-tag.md): Create a new review tag for categorizing customer reviews. - [Create a new service category](https://docs.guile.app/api-reference/admin/create-a-new-service-category.md): Create a new service category. - [Create a shop profile](https://docs.guile.app/api-reference/admin/create-a-shop-profile.md): Create a shop profile with the provided address, email, and phone number. - [Delete a review tag](https://docs.guile.app/api-reference/admin/delete-a-review-tag.md): Delete a review tag. This operation cannot be undone. - [List photos](https://docs.guile.app/api-reference/admin/list-photos.md): List all photos in the system for administrative review. - [Reject a photo](https://docs.guile.app/api-reference/admin/reject-a-photo.md): Reject a pending photo to prevent it from being assigned. This operation is idempotent - rejecting an already rejected photo returns success. Once rejected, the photo will not be available for assignment to resources. - [Soft delete a barber](https://docs.guile.app/api-reference/admin/soft-delete-a-barber.md): Perform a soft delete of a barber profile. - [Update a review tag](https://docs.guile.app/api-reference/admin/update-a-review-tag.md): Update an existing review tag. - [Cancel an appointment as a barber](https://docs.guile.app/api-reference/appointments/cancel-an-appointment-as-a-barber.md): Cancel an appointment as a barber with optional cancellation fee control - [Capture an appointment payment](https://docs.guile.app/api-reference/appointments/capture-an-appointment-payment.md): Capture a previously authorized payment for an appointment - [Create an appointment](https://docs.guile.app/api-reference/appointments/create-an-appointment.md): Create a new appointment as a client - [Create an appointment as a barber](https://docs.guile.app/api-reference/appointments/create-an-appointment-as-a-barber.md): Create a new appointment as a barber with full control over cost and duration - [Create external payment for appointment](https://docs.guile.app/api-reference/appointments/create-external-payment-for-appointment.md): Create an external payment (cash, Venmo, etc.) for an appointment - [Get an appointment](https://docs.guile.app/api-reference/appointments/get-an-appointment.md): Get an appointment resource - [List appointment openings](https://docs.guile.app/api-reference/appointments/list-appointment-openings.md): List appointments openings for a location and/or barber. - [List appointment payments](https://docs.guile.app/api-reference/appointments/list-appointment-payments.md): List all payments associated with an appointment - [List barber appointments](https://docs.guile.app/api-reference/appointments/list-barber-appointments.md): List appointments for a barber. - [List location appointments](https://docs.guile.app/api-reference/appointments/list-location-appointments.md): List appointments for a location. - [Patch an appointment](https://docs.guile.app/api-reference/appointments/patch-an-appointment.md): Patch this appointment resource - [Refund an appointment payment](https://docs.guile.app/api-reference/appointments/refund-an-appointment-payment.md): Create a refund payment for a captured payment - [Artifacts](https://docs.guile.app/api-reference/artifacts.md) - [Assign a photo to barber portfolio](https://docs.guile.app/api-reference/barber-photos/assign-a-photo-to-barber-portfolio.md): Assign an approved photo to a barber's portfolio. - [Assign barber profile photo](https://docs.guile.app/api-reference/barber-photos/assign-barber-profile-photo.md): Assign an approved photo as the barber's profile photo. - [Get barber profile photo](https://docs.guile.app/api-reference/barber-photos/get-barber-profile-photo.md): Get the barber's profile photo assignment. - [List barber portfolio photos](https://docs.guile.app/api-reference/barber-photos/list-barber-portfolio-photos.md): List all photos in a barber's portfolio, ordered by sort order. - [Remove a photo from barber portfolio](https://docs.guile.app/api-reference/barber-photos/remove-a-photo-from-barber-portfolio.md): Remove a photo from a barber's portfolio. - [Remove barber profile photo](https://docs.guile.app/api-reference/barber-photos/remove-barber-profile-photo.md): Remove the barber's profile photo assignment. - [Approve a review](https://docs.guile.app/api-reference/barbers/approve-a-review.md): Approve a review for one of the barber's appointments. This operation is idempotent - approving an already approved review returns success. Once approved, the review becomes visible to customers. - [Calculate working hours for a week](https://docs.guile.app/api-reference/barbers/calculate-working-hours-for-a-week.md): Calculate total working hours for a barber in a given week, accounting for schedule, breaks, and overrides. The provided date will be adjusted to the start of the week that contains the date. - [Create a barber schedule](https://docs.guile.app/api-reference/barbers/create-a-barber-schedule.md): Create a new schedule for a barber. - [Create a schedule override](https://docs.guile.app/api-reference/barbers/create-a-schedule-override.md): Create a schedule override for time off or holidays. - [Delete a barber schedule](https://docs.guile.app/api-reference/barbers/delete-a-barber-schedule.md): Delete a barber schedule. - [Delete a schedule override](https://docs.guile.app/api-reference/barbers/delete-a-schedule-override.md): Delete a schedule override. - [Get a barber's business information](https://docs.guile.app/api-reference/barbers/get-a-barbers-business-information.md): Get the private business information for a barber. Only the barber assigned to this profile or a system administrator can access this information. - [Get a barber's profile](https://docs.guile.app/api-reference/barbers/get-a-barbers-profile.md): Get a barber's profile. - [Get a schedule override](https://docs.guile.app/api-reference/barbers/get-a-schedule-override.md): Get a specific schedule override. - [Get barber settings](https://docs.guile.app/api-reference/barbers/get-barber-settings.md): Get a barber's settings. - [Get calculated schedule for a specific week](https://docs.guile.app/api-reference/barbers/get-calculated-schedule-for-a-specific-week.md): Get the calculated schedule for a specific week, combining default schedule with any week-specific schedules and overrides. - [Get daily summaries for a barber](https://docs.guile.app/api-reference/barbers/get-daily-summaries-for-a-barber.md): Get daily summaries for a barber including appointment counts, earnings, tips, cancellations, no-shows, and total duration for completed appointments. - [Get review summary for a barber](https://docs.guile.app/api-reference/barbers/get-review-summary-for-a-barber.md): Get aggregated review metrics for a barber including total reviews and sentiment breakdown. - [List barber schedule overrides](https://docs.guile.app/api-reference/barbers/list-barber-schedule-overrides.md): List schedule overrides (time off, holidays) for a barber. - [List barber schedules](https://docs.guile.app/api-reference/barbers/list-barber-schedules.md): List all schedules for a barber. - [List week-specific schedules](https://docs.guile.app/api-reference/barbers/list-week-specific-schedules.md): List schedules assigned to specific weeks (convenience operation). - [Reject a review](https://docs.guile.app/api-reference/barbers/reject-a-review.md): Reject a review for one of the barber's appointments. This operation is idempotent - rejecting an already rejected review returns success. Once rejected, the review will not be visible to customers. - [Remove week-specific schedule](https://docs.guile.app/api-reference/barbers/remove-week-specific-schedule.md): Remove a schedule assignment from a specific week. - [Set default schedule](https://docs.guile.app/api-reference/barbers/set-default-schedule.md): Set which schedule to use as the default template. - [Set schedule for a specific week](https://docs.guile.app/api-reference/barbers/set-schedule-for-a-specific-week.md): Assign a schedule to a specific week. - [Update a barber profile](https://docs.guile.app/api-reference/barbers/update-a-barber-profile.md): Update a barber profile. Only the barber assigned to this profile or a system administrator can perform the patch. - [Update a barber schedule](https://docs.guile.app/api-reference/barbers/update-a-barber-schedule.md): Update a barber schedule. - [Update a schedule override](https://docs.guile.app/api-reference/barbers/update-a-schedule-override.md): Update a schedule override for time off or holidays. - [Update barber settings](https://docs.guile.app/api-reference/barbers/update-barber-settings.md): Update a barber's settings. - [Add a business financial account](https://docs.guile.app/api-reference/businesses/add-a-business-financial-account.md): Add a financial account for the business for payouts. - [Add business payout card](https://docs.guile.app/api-reference/businesses/add-business-payout-card.md): Add a payout card for a business. A business can only add cards for their own account. - [Configure a business's payout preferences](https://docs.guile.app/api-reference/businesses/configure-a-businesss-payout-preferences.md): Update a business's payout preferences. A business can only update their own payout preferences. - [Get business payment processor balance](https://docs.guile.app/api-reference/businesses/get-business-payment-processor-balance.md): Retrieve the current payment processor balance for a business. This includes available, pending, and allocated funds. - [Get business registration](https://docs.guile.app/api-reference/businesses/get-business-registration.md): Get a specific business registration. - [List business payout cards](https://docs.guile.app/api-reference/businesses/list-business-payout-cards.md): List all of the payout cards for a business. A business can only list their own cards. - [List the business' financial accounts](https://docs.guile.app/api-reference/businesses/list-the-business-financial-accounts.md): List all of the connected financial accounts for a business. A business can only list their financial accounts. - [Read a business's payout preferences](https://docs.guile.app/api-reference/businesses/read-a-businesss-payout-preferences.md): Read a business's payout preferences. A business can only access their own payout preferences. - [Read a business's refund policy](https://docs.guile.app/api-reference/businesses/read-a-businesss-refund-policy.md) - [Register a business](https://docs.guile.app/api-reference/businesses/register-a-business.md): Register a business with the payment processor for enabling digital payments and payouts. - [Remove a business financial account](https://docs.guile.app/api-reference/businesses/remove-a-business-financial-account.md): Remove a business financial account. A business can only remove their own financial accounts. - [Remove business payout card](https://docs.guile.app/api-reference/businesses/remove-business-payout-card.md): Remove a payout card for a business. A business can only remove cards for their own account. - [Update a business financial account](https://docs.guile.app/api-reference/businesses/update-a-business-financial-account.md): Update a business financial account. A business can only update their own financial accounts. - [Create an authentication challenge](https://docs.guile.app/api-reference/challenges/create-an-authentication-challenge.md): Issue an authentication challenge for a user. - [List authentication challenge methods](https://docs.guile.app/api-reference/challenges/list-authentication-challenge-methods.md): List valid authentication challenge methods available for a user. Parameters are mutually exclusive. - [Verify authentication](https://docs.guile.app/api-reference/challenges/verify-authentication.md): Unified endpoint for verifying authentication using either OTP or passkey. - [Add a client](https://docs.guile.app/api-reference/clients/add-a-client.md): Add a client for a barber. - [Import clients](https://docs.guile.app/api-reference/clients/import-clients.md): Import clients for a barber. Imported clients are not sent invitations to join the platform. All imported clients are automatically added to the `new` client group. This operations supports import via JSON or CSV. - [List clients](https://docs.guile.app/api-reference/clients/list-clients.md): List a barber's clients. - [Remove a client](https://docs.guile.app/api-reference/clients/remove-a-client.md): Remove a client from a barber's client list. - [Retrieve a client](https://docs.guile.app/api-reference/clients/retrieve-a-client.md): Get a barber's client. - [Update a client](https://docs.guile.app/api-reference/clients/update-a-client.md): Get a barber's client. - [Add a payment method](https://docs.guile.app/api-reference/customers/add-a-payment-method.md): Add a new payment method to the current customer's profile. - [Cancel a specific appointment for me](https://docs.guile.app/api-reference/customers/cancel-a-specific-appointment-for-me.md): Cancel a specific appointment for the current customer. - [Delete my account](https://docs.guile.app/api-reference/customers/delete-my-account.md): Delete the current customer's account. This is a soft delete operation with the following behavior: - [Get a specific appointment for me](https://docs.guile.app/api-reference/customers/get-a-specific-appointment-for-me.md): Get a specific appointment for the current customer. - [Get my profile](https://docs.guile.app/api-reference/customers/get-my-profile.md): Get the current customer profile. - [Get my settings](https://docs.guile.app/api-reference/customers/get-my-settings.md): Get the current customer's settings. - [List my appointments](https://docs.guile.app/api-reference/customers/list-my-appointments.md): Get a list of appointments for the current customer. - [List my payment methods](https://docs.guile.app/api-reference/customers/list-my-payment-methods.md): Get a list of saved payment methods for the current customer. - [Remove a payment method](https://docs.guile.app/api-reference/customers/remove-a-payment-method.md): Remove a payment method from the current customer's profile. Removing a payment method does not remove it from any appointments referencing it. - [Update a payment method](https://docs.guile.app/api-reference/customers/update-a-payment-method.md): Update a payment method for the current customer. - [Update my profile](https://docs.guile.app/api-reference/customers/update-my-profile.md): Update the current customer profile. - [Update my settings](https://docs.guile.app/api-reference/customers/update-my-settings.md): Update the current customer's settings. - [Date Ranges](https://docs.guile.app/api-reference/date-ranges.md): How to specify date ranges in API requests - [Calculate barber fees](https://docs.guile.app/api-reference/fees/calculate-barber-fees.md): Calculate the fees charged to a barber for a money amount. - [Calculate customer fees](https://docs.guile.app/api-reference/fees/calculate-customer-fees.md): Calculate the booking fee charged to a customer for an appointment amount. - [List clients in a smart group](https://docs.guile.app/api-reference/groups/list-clients-in-a-smart-group.md): List clients in a smart group. - [List smart groups of clients](https://docs.guile.app/api-reference/groups/list-smart-groups-of-clients.md): List smart groups of clients. - [Retrieve a smart group of clients](https://docs.guile.app/api-reference/groups/retrieve-a-smart-group-of-clients.md): Retrieve a smart group of clients. - [Update smart group rules](https://docs.guile.app/api-reference/groups/update-smart-group-rules.md): Update rules for a smart group of clients. - [Idempotency Keys](https://docs.guile.app/api-reference/idempotency.md): Ensure safe retries and prevent duplicate operations with idempotency keys - [Introduction](https://docs.guile.app/api-reference/introduction.md) - [Accept an invitation](https://docs.guile.app/api-reference/invitations/accept-an-invitation.md): Accept an invitation. Invitations can only be accepted when their state is `created`. - [Get an invitation](https://docs.guile.app/api-reference/invitations/get-an-invitation.md): Fetch an invitation to join the Guile Platform as a barber or a shop owner. Invitations are valid until they are confirmed, rejected or revoked. Invitations may be revoked by the issuer. - [List location invitations](https://docs.guile.app/api-reference/invitations/list-location-invitations.md): List barber invitations for a shop location. - [Revoke an invitation](https://docs.guile.app/api-reference/invitations/revoke-an-invitation.md): Revoke a previously issued invitation. - [List implemented API operations](https://docs.guile.app/api-reference/metadata/list-implemented-api-operations.md): Retrieve the implemented operation identifiers exposed by the main Guile API. - [Add a client note](https://docs.guile.app/api-reference/notes/add-a-client-note.md): Add a note for a barber's client. - [Delete a client note](https://docs.guile.app/api-reference/notes/delete-a-client-note.md): Delete a note for a barber's client. - [Retrieve client notes](https://docs.guile.app/api-reference/notes/retrieve-client-notes.md): List notes for a barber's client. These are private notes only visible to the barber. - [Update a client note](https://docs.guile.app/api-reference/notes/update-a-client-note.md): Update a note for a barber's client. - [Delete a passkey](https://docs.guile.app/api-reference/passkeys/delete-a-passkey.md): Delete a registered passkey for the authenticated user. - [Get passkey registration options](https://docs.guile.app/api-reference/passkeys/get-passkey-registration-options.md): Get WebAuthn credential creation options for registering a new passkey. - [List passkeys](https://docs.guile.app/api-reference/passkeys/list-passkeys.md): List all passkeys registered for the authenticated user. - [List supported passkey algorithms](https://docs.guile.app/api-reference/passkeys/list-supported-passkey-algorithms.md): List the cryptographic algorithms supported for passkey credentials. - [Register a passkey](https://docs.guile.app/api-reference/passkeys/register-a-passkey.md): Register a new passkey for the authenticated user. - [Cancel an individual payout](https://docs.guile.app/api-reference/payouts/cancel-an-individual-payout.md): Cancel a scheduled pending payout. - [Create an instant payout for the given business](https://docs.guile.app/api-reference/payouts/create-an-instant-payout-for-the-given-business.md): Create an instant payout for the given business. - [Get an individual payout](https://docs.guile.app/api-reference/payouts/get-an-individual-payout.md): Retrieve an individual payout. - [List payouts for the given business](https://docs.guile.app/api-reference/payouts/list-payouts-for-the-given-business.md): List all of the payouts for the given business. - [Delete a photo](https://docs.guile.app/api-reference/photos/delete-a-photo.md): Delete a photo. - [Get a photo](https://docs.guile.app/api-reference/photos/get-a-photo.md): Get a specific photo by ID. - [List photos](https://docs.guile.app/api-reference/photos/list-photos.md): List all photos uploaded by the authenticated user. - [Upload a photo](https://docs.guile.app/api-reference/photos/upload-a-photo.md): Upload a photo to the Guile platform. - [Access Plaid accounts](https://docs.guile.app/api-reference/plaid/access-plaid-accounts.md): List the financial accounts for a user, accessed through Plaid. - [Create a Plaid Link token](https://docs.guile.app/api-reference/plaid/create-a-plaid-link-token.md): Create a Plaid Link token to initiate a secure connection to the Plaid SDK. - [Exchange a Plaid public token](https://docs.guile.app/api-reference/plaid/exchange-a-plaid-public-token.md): Exchange the public token from Plaid consents for a Plaid API access token. - [Problem Types](https://docs.guile.app/api-reference/problems.md): Understanding API error responses and problem types in the Guile platform - [Create a recurring appointment](https://docs.guile.app/api-reference/recurring-appointments/create-a-recurring-appointment.md): Create a new recurring appointment for a customer. - [Delete a recurring appointment](https://docs.guile.app/api-reference/recurring-appointments/delete-a-recurring-appointment.md): Delete a recurring appointment and optionally delete future appointments in the series. - [Get a recurring appointment](https://docs.guile.app/api-reference/recurring-appointments/get-a-recurring-appointment.md): Get a specific recurring appointment. - [List recurring appointments](https://docs.guile.app/api-reference/recurring-appointments/list-recurring-appointments.md): List recurring appointments for a barber, optionally filtered by customer. - [Update a recurring appointment](https://docs.guile.app/api-reference/recurring-appointments/update-a-recurring-appointment.md): Update a recurring appointment. - [Approve a refund request](https://docs.guile.app/api-reference/refunds/approve-a-refund-request.md): Approve a refund request and process the refund - [Deny a refund request](https://docs.guile.app/api-reference/refunds/deny-a-refund-request.md): Deny a refund request - [Get a refund request](https://docs.guile.app/api-reference/refunds/get-a-refund-request.md): Get details of a specific refund request - [List refund requests](https://docs.guile.app/api-reference/refunds/list-refund-requests.md): List refund requests for the authenticated user. For customers, this includes only requests made by the current customer. For barbers, this includes requests for appointments the barber is assigned to. - [Request a refund](https://docs.guile.app/api-reference/refunds/request-a-refund.md): Request a refund for an appointment - [Create a review](https://docs.guile.app/api-reference/reviews/create-a-review.md): Create a review for an appointment. Only the customer who booked the appointment can create a review. - [Delete a review](https://docs.guile.app/api-reference/reviews/delete-a-review.md): Delete a review. Only the customer who created the review can delete it. Reviews can only be deleted while in the `pending` state. - [Get a review](https://docs.guile.app/api-reference/reviews/get-a-review.md): Get a specific review by ID. - [List review tags](https://docs.guile.app/api-reference/reviews/list-review-tags.md): Get a list of all review tags. - [List reviews](https://docs.guile.app/api-reference/reviews/list-reviews.md): List reviews contextual to the caller. - Customers see their own reviews - Barbers see reviews for their appointments - Admins see all reviews - [Update a review](https://docs.guile.app/api-reference/reviews/update-a-review.md): Update a review. Only the customer who created the review can update it. Reviews can only be updated while in the `pending` state. - [Assign a photo to a service](https://docs.guile.app/api-reference/service-photos/assign-a-photo-to-a-service.md): Assign an approved photo to a service. - [List photos for a service](https://docs.guile.app/api-reference/service-photos/list-photos-for-a-service.md): List all photos assigned to a service, ordered by sort order. - [Remove a photo from a service](https://docs.guile.app/api-reference/service-photos/remove-a-photo-from-a-service.md): Remove a photo assignment from a service. - [Assign services to a barber](https://docs.guile.app/api-reference/services/assign-services-to-a-barber.md): Assign one or more shop services to a barber. - [Create a new service](https://docs.guile.app/api-reference/services/create-a-new-service.md): Create a new service for a shop. - [Delete a barber service](https://docs.guile.app/api-reference/services/delete-a-barber-service.md): Remove a service assignment from a barber. - [Get a service](https://docs.guile.app/api-reference/services/get-a-service.md): Get a specific service. - [List a barber's services](https://docs.guile.app/api-reference/services/list-a-barbers-services.md): List services assigned to a barber. - [List service categories](https://docs.guile.app/api-reference/services/list-service-categories.md): List all available service categories. - [List shop services](https://docs.guile.app/api-reference/services/list-shop-services.md): List all services for a shop. - [Patch a service](https://docs.guile.app/api-reference/services/patch-a-service.md): Patch a service. - [Update a barber service](https://docs.guile.app/api-reference/services/update-a-barber-service.md): Update barber-specific overrides for a service assignment. - [Assign a photo to shop portfolio](https://docs.guile.app/api-reference/shop-photos/assign-a-photo-to-shop-portfolio.md): Assign an approved photo to a shop's portfolio. - [Assign shop profile photo](https://docs.guile.app/api-reference/shop-photos/assign-shop-profile-photo.md): Assign an approved photo as the shop's profile photo. - [Get shop profile photo](https://docs.guile.app/api-reference/shop-photos/get-shop-profile-photo.md): Get the shop's profile photo assignment. - [List shop portfolio photos](https://docs.guile.app/api-reference/shop-photos/list-shop-portfolio-photos.md): List all photos in a shop's portfolio, ordered by sort order. - [Remove a photo from shop portfolio](https://docs.guile.app/api-reference/shop-photos/remove-a-photo-from-shop-portfolio.md): Remove a photo from a shop's portfolio. - [Remove shop profile photo](https://docs.guile.app/api-reference/shop-photos/remove-shop-profile-photo.md): Remove the shop's profile photo assignment. - [Get a shop's business information](https://docs.guile.app/api-reference/shops/get-a-shops-business-information.md): Get the private business information for a shop. Only authorized users for the shop or a system administrator can access this information. - [Exchange an offline refresh token](https://docs.guile.app/api-reference/token-management/exchange-an-offline-refresh-token.md): Exchange an offline refresh token for a new authentication token. - [Issue an anonymous token](https://docs.guile.app/api-reference/token-management/issue-an-anonymous-token.md): Create an anonymous access token for use operations not requiring an authenticated user. - [Log out the current user](https://docs.guile.app/api-reference/token-management/log-out-the-current-user.md): Revoke the user's active authentication and refresh tokens, effectively logging them out of the system. - [Revoke active tokens](https://docs.guile.app/api-reference/token-management/revoke-active-tokens.md): Revoke the user's active authentication and refresh tokens, effectively logging them out of the system. ## OpenAPI Specs - [openapi](https://docs.guile.app/api-reference/openapi.json)