### List all available slots (cURL Example) Source: https://apidocs.neetocal.com/api-reference/slots/list-slots Example of how to call the 'List all available slots' API endpoint using cURL. It demonstrates the GET request, URL structure with placeholders for workspace and meeting slug, and the required API key header. ```bash curl --request GET \ --url https://{workspace}.neetocal.com/api/external/v1/slots/{meeting_slug} \ --header 'X-Api-Key: ' ``` -------------------------------- ### Example Usage - cURL Source: https://apidocs.neetocal.com/api-reference/availabilities/list-availabilities Example cURL command to list availabilities for multiple team members. ```curl curl -X GET "https://yourworkspace.neetocal.com/api/external/v1/availabilities?emails[]=oliver@example.com&emails[]=cypress@example.com&emails[]=john@example.com" \ -H "X-Api-Key: YOUR_API_KEY" ``` -------------------------------- ### Create Discount Code (cURL Example) Source: https://apidocs.neetocal.com/api-reference/discount-codes/create-discount-code Example cURL command to create a discount code using the NeetoCal API. It demonstrates how to set headers and the JSON payload for the request. ```bash curl --request POST \ --url https://{workspace}.neetocal.com/api/external/v1/discount_codes \ --header 'Content-Type: application/json' \ --header 'X-Api-Key: ' \ --data '{ "code": "OFF50", "value": 50, "kind": "percentage", "redeems_limit": 10, "redeems_limit_by_email": 5, "expires_at": "12-05-2025", "days_valid_after_first_use_per_client": 7, "allowed_emails": [ "eve@bigbinary.com", "charlie@bigbinary.com" ], "meeting_ids": [ "ktr8qu3", "xzfpwqg", "csesbjq", "c64h5yx" ] }' ``` -------------------------------- ### Example Usage - JavaScript Source: https://apidocs.neetocal.com/api-reference/availabilities/list-availabilities Example JavaScript code to list availabilities for multiple team members using fetch API. ```javascript const apiKey = 'YOUR_API_KEY'; const workspace = 'yourworkspace'; const emails = ['oliver@example.com', 'cypress@example.com', 'john@example.com']; fetch(`https://${workspace}.neetocal.com/api/external/v1/availabilities?emails[]=${emails.join('&emails[]=')}`, { method: 'GET', headers: { 'X-Api-Key': apiKey } }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` -------------------------------- ### Example Usage - Python Source: https://apidocs.neetocal.com/api-reference/availabilities/list-availabilities Example Python code to list availabilities for multiple team members using the requests library. ```python import requests api_key = 'YOUR_API_KEY' workspace = 'yourworkspace' emails = ['oliver@example.com', 'cypress@example.com', 'john@example.com'] url = f"https://{workspace}.neetocal.com/api/external/v1/availabilities" headers = { 'X-Api-Key': api_key } params = { 'emails[]': emails } response = requests.get(url, headers=headers, params=params) if response.status_code == 200: print(response.json()) else: print(f"Error: {response.status_code} - {response.text}") ``` -------------------------------- ### Create Scheduling Link (cURL Example) Source: https://apidocs.neetocal.com/api-reference/scheduling-links/create-meeting Example cURL command to create a scheduling link using the NeetoCal API. It demonstrates how to set the request method, URL, content type, API key, and the JSON payload for the meeting details. ```bash curl --request POST \ --url https://{workspace}.neetocal.com/api/external/v1/meetings \ --header 'Content-Type: application/json' \ --header 'X-Api-Key: ' \ --data '{ "slug": "meeting-with-oliver-smith", "name": "Meeting with Oliver Smith", "description": "Discuss project updates", "hosts": [ "oliver@example.com", "jane@example.com" ], "kind": "one_on_one", "duration": 30, "start_time_increment": 30 }' ``` -------------------------------- ### Create Scheduling Link (cURL Example) Source: https://apidocs.neetocal.com/api-reference/index Example cURL command to create a scheduling link using the NeetoCal API. It demonstrates how to set the request method, URL, content type, API key, and the JSON payload for the meeting details. ```bash curl --request POST \ --url https://{workspace}.neetocal.com/api/external/v1/meetings \ --header 'Content-Type: application/json' \ --header 'X-Api-Key: ' \ --data '{ "slug": "meeting-with-oliver-smith", "name": "Meeting with Oliver Smith", "description": "Discuss project updates", "hosts": [ "oliver@example.com", "jane@example.com" ], "kind": "one_on_one", "duration": 30, "start_time_increment": 30 }' ``` -------------------------------- ### Create Scheduling Link Source: https://apidocs.neetocal.com/api-reference/scheduling-links/create-meeting This API allows the creation of a scheduling link. It requires an API key for authentication and accepts a JSON payload with meeting details such as slug, name, description, hosts, kind, duration, and start time increment. The response includes a success message and the created meeting object. ```APIDOC POST /meetings This API allows to create a scheduling link. Request Body: { "slug": "string", "name": "string", "description": "string", "hosts": [ "string" ], "kind": "one_on_one", "duration": 123, "start_time_increment": 123 } Headers: - X-Api-Key: string (required) - You can generate an API key from the NeetoCal API Keys dashboard. Responses: 200: Meeting created successfully 400: Bad Request 401: Unauthorized 500: Internal Server Error Example Response: { "message": "Meeting created successfully", "meeting": { "id": "", "sid": "", "name": "", "slug": "", "description": "", "kind": "one_on_one", "duration": 123, "disabled": true, "spot": "custom", "spot_in_person_location": "", "spot_custom_text": "", "spot_phone_call_number": "", "is_template": true, "schedulable_range_type": "number_of_days_into_the_future", "schedulable_range_value": "", "lead_time": 123, "start_time_increment": 123, "created_at": "2024-12-23T05:05:27.037Z", "updated_at": "2025-03-31T13:22:19.832Z", "deleted_at": null, "is_multiple_spots_allowed": true, "is_multiple_durations_allowed": true, "conditional_pricing_enabled": true, "is_email_reminders_enabled": true, "is_sms_reminders_enabled": true, "organization_id": "", "rescheduling_lead_time": 123, "cancellation_lead_time": 123, "booking_modification_allowed": true, "cancellation_too_late_notice": "", "cancellation_policy": "", "rescheduling_too_late_notice": "", "pre_booking_allowed": true, "original_price_enabled": true, "original_price": 123, "fees": [ {} ], "durations_possible": [ 123 ] } } ``` -------------------------------- ### Create Meeting Request Body Source: https://apidocs.neetocal.com/api-reference/scheduling-links/create-meeting Defines the structure and parameters for the request body when creating a meeting. Includes fields for slug, name, hosts, duration, description, kind, and start time increment. ```APIDOC CreateMeetingRequestBody: slug: string (required) - Slug of the scheduling link. Must be unique. Example: "meeting-with-oliver-smith" name: string (required) - New name of the scheduling link. Example: "Meeting with Oliver Smith" hosts: string[] (required) - Emails of the hosts in array format. Example: ["oliver@example.com", "jane@example.com"] duration: integer (required) - Duration of the scheduling link in minutes. Example: 30 description: string (optional) - Description of the scheduling link. Example: "Discuss project updates" kind: enum (optional, default: one_on_one) - Kind of scheduling link. Available options: one_on_one, round_robin, multihost, grouped. start_time_increment: integer (optional, default: 30) - Start time increment for the scheduling link in minutes. Example: 30 ``` -------------------------------- ### Create Scheduling Link Source: https://apidocs.neetocal.com/api-reference/index This API allows the creation of a scheduling link. It requires an API key for authentication and accepts a JSON payload with meeting details such as slug, name, description, hosts, kind, duration, and start time increment. The response includes a success message and the created meeting object. ```APIDOC POST /meetings This API allows to create a scheduling link. Request Body: { "slug": "string", "name": "string", "description": "string", "hosts": [ "string" ], "kind": "one_on_one", "duration": 123, "start_time_increment": 123 } Headers: - X-Api-Key: string (required) - You can generate an API key from the NeetoCal API Keys dashboard. Responses: 200: Meeting created successfully 400: Bad Request 401: Unauthorized 500: Internal Server Error Example Response: { "message": "Meeting created successfully", "meeting": { "id": "", "sid": "", "name": "", "slug": "", "description": "", "kind": "one_on_one", "duration": 123, "disabled": true, "spot": "custom", "spot_in_person_location": "", "spot_custom_text": "", "spot_phone_call_number": "", "is_template": true, "schedulable_range_type": "number_of_days_into_the_future", "schedulable_range_value": "", "lead_time": 123, "start_time_increment": 123, "created_at": "2024-12-23T05:05:27.037Z", "updated_at": "2025-03-31T13:22:19.832Z", "deleted_at": null, "is_multiple_spots_allowed": true, "is_multiple_durations_allowed": true, "conditional_pricing_enabled": true, "is_email_reminders_enabled": true, "is_sms_reminders_enabled": true, "organization_id": "", "rescheduling_lead_time": 123, "cancellation_lead_time": 123, "booking_modification_allowed": true, "cancellation_too_late_notice": "", "cancellation_policy": "", "rescheduling_too_late_notice": "", "pre_booking_allowed": true, "original_price_enabled": true, "original_price": 123, "fees": [ {} ], "durations_possible": [ 123 ] } } ``` -------------------------------- ### Create Meeting Request Body Source: https://apidocs.neetocal.com/api-reference/index Defines the structure and parameters for the request body when creating a meeting. Includes fields for slug, name, hosts, duration, description, kind, and start time increment. ```APIDOC CreateMeetingRequestBody: slug: string (required) - Slug of the scheduling link. Must be unique. Example: "meeting-with-oliver-smith" name: string (required) - New name of the scheduling link. Example: "Meeting with Oliver Smith" hosts: string[] (required) - Emails of the hosts in array format. Example: ["oliver@example.com", "jane@example.com"] duration: integer (required) - Duration of the scheduling link in minutes. Example: 30 description: string (optional) - Description of the scheduling link. Example: "Discuss project updates" kind: enum (optional, default: one_on_one) - Kind of scheduling link. Available options: one_on_one, round_robin, multihost, grouped. start_time_increment: integer (optional, default: 30) - Start time increment for the scheduling link in minutes. Example: 30 ``` -------------------------------- ### List All Packages Source: https://apidocs.neetocal.com/api-reference/packages/list-packages Retrieves a list of all packages available within the NeetoCal workspace. This includes details such as package ID, name, status, duration, and associated fee configurations. The API requires an 'X-Api-Key' header for authentication. Responses include pagination information. ```APIDOC GET /packages Headers: X-Api-Key: string (required) - Bearer token for API access. Response: 200 OK - Request succeeded. Returns a JSON object containing an array of packages and pagination details. packages: object[] - Array of packages available in the workspace. id: string - Unique identifier for the package. name: string - Human-readable name for the package. slug: string - URL-friendly identifier for the package. status: enum - Current status of the package ('enabled', 'disabled'). duration: integer - Duration of the package in seconds. fee: object - Fee configuration for the package. pagination: object - Pagination information. 400 Bad Request 401 Unauthorized 500 Internal Server Error Example Response Body: { "packages": [ { "id": "aff17ff8-1bf8-4e77-a3c5-2f86104f9a20", "name": "Consultation Package", "slug": "consultation-package", "status": "enabled", "duration": 7200, "fee": { "id": "1b217cc5-69b5-4fb1-a13c-c22f9c14e7f9", "amount": "120.0", "currency": "inr", "feeable_id": "aff17ff8-1bf8-4e77-a3c5-2f86104f9a20", "feeable_type": "Package", "payment_provider": "cash", "kind": "fixed", "min_amount": "120.0", "taxes": [ {} ], "is_default": true, "display_amount": "", "is_tax_enabled": true, "is_tip_enabled": true, "is_tax_applicable_on_tip": true, "vpas": [ {} ], "amount_in_smallest_currency_unit": 12000 } } ], "pagination": { "total_records": 123, "total_pages": 123, "current_page_number": 123, "page_size": 123 } } ``` ```curl curl --request GET \ --url https://{workspace}.neetocal.com/api/external/v1/packages \ --header 'X-Api-Key: ' ``` -------------------------------- ### Get a Package Source: https://apidocs.neetocal.com/api-reference/packages/get-package Retrieves details for a specific package using its ID. Requires authentication with an API key. ```APIDOC GET /api/external/v1/packages/{package_id} Parameters: - package_id: The unique identifier of the package. - X-Api-Key: Your API key for authentication. Responses: - 200 OK: Successfully retrieved package details. - 400 Bad Request: Invalid request parameters. - 401 Unauthorized: Missing or invalid API key. - 500 Internal Server Error: Server error. ``` ```curl curl --request GET \ --url https://{workspace}.neetocal.com/api/external/v1/packages/{package_id} \ --header 'X-Api-Key: ' ``` ```APIDOC Response Body (200 OK): { "package": { "id": "aff17ff8-1bf8-4e77-a3c5-2f86104f9a20", "name": "Consultation Package", "slug": "consultation-package", "status": "enabled", "duration": 7200, "fee": { "id": "1b217cc5-69b5-4fb1-a13c-c22f9c14e7f9", "amount": "120.0", "currency": "inr", "feeable_id": "aff17ff8-1bf8-4e77-a3c5-2f86104f9a20", "feeable_type": "Package", "payment_provider": "cash", "kind": "fixed", "min_amount": "120.0", "taxes": [ {} ], "is_default": true, "display_amount": "", "is_tax_enabled": true, "is_tip_enabled": true, "is_tax_applicable_on_tip": true, "vpas": [ {} ], "amount_in_smallest_currency_unit": 12000 } } } ``` -------------------------------- ### Discount Codes API Source: https://apidocs.neetocal.com/api-reference/bookings/make-booking This section provides a link to the API reference for managing discount codes. Specific details about creating discount codes are available at the provided URL. ```APIDOC POST /api-reference/discount-codes/create-discount-code This endpoint is for creating discount codes. Please refer to the provided URL for detailed information on parameters and usage. ``` -------------------------------- ### Response Body for Update Availability Source: https://apidocs.neetocal.com/api-reference/availabilities/update-availability Example response body for the 'Update an availability' API call, showing the structure of the updated availability object. ```APIDOC Response Body Structure: { "message": "", "availability": { "id": "", "sid": "", "name": "", "default": "", "after_buffer_time": "", "before_buffer_time": "", "periods": [ { "id": "", "wday": "", "start_time": "", "end_time": "" } ], "overrides": [ { "date": "", "periods": [ { "wday": "", "start_time": "", "end_time": "" } ] } ], "user": { "id": "", "name": "", "email": "" } } } ``` -------------------------------- ### Scheduling and Booking Actions Source: https://apidocs.neetocal.com/api-reference/bookings/make-booking Provides links to key API functionalities for managing scheduling and bookings. This includes creating one-time scheduling links and listing all existing bookings. ```APIDOC Create a One-time scheduling link: https://apidocs.neetocal.com/api-reference/scheduling-links/create-one-off-link List all bookings: https://apidocs.neetocal.com/api-reference/bookings/list-bookings ``` -------------------------------- ### Availability API Endpoints Source: https://apidocs.neetocal.com/api-reference/availabilities/list-team-member-availabilities Provides links to related API endpoints for managing availabilities. Includes endpoints for getting details about a specific availability and listing all availabilities for team members. ```APIDOC Related Endpoints: - Get details about an availability: /api-reference/availabilities/get-availability - List all availabilities of the team members: /api-reference/availabilities/list-availabilities ``` -------------------------------- ### Packages API Source: https://apidocs.neetocal.com/api-reference/scheduling-links/create-meeting Endpoints for listing and retrieving package information. ```APIDOC GET /packages/list-packages Lists all packages. GET /packages/get-package Retrieves details of a specific package. ``` -------------------------------- ### Reschedule a Booking Source: https://apidocs.neetocal.com/api-reference/packages/list-packages Reschedules an existing booking. This endpoint allows you to change the date and time of a confirmed booking. It requires the booking ID and the new desired start and end times. ```APIDOC Bookings API: PATCH /api/external/v1/bookings/{bookingId}/reschedule Reschedule a booking Reschedules an existing booking. Parameters: bookingId: { type: string, required: true, description: "The unique identifier of the booking to reschedule." } Request Body: required: [new_start_time, new_end_time] type: object properties: new_start_time: { type: string, format: "date-time", description: "The new desired start date and time for the booking." } new_end_time: { type: string, format: "date-time", description: "The new desired end date and time for the booking." } Responses: 200 OK: Description: Booking rescheduled successfully. Content: application/json: schema: type: object properties: message: { type: string, description: "Confirmation message." } booking: type: object properties: id: { type: string } scheduling_link_id: { type: string } start_time: { type: string, format: "date-time" } end_time: { type: string, format: "date-time" } attendee_email: { type: string } status: { type: string } 400 Bad Request: Description: Invalid booking ID or new time slot. 401 Unauthorized: Description: Authentication failed. 404 Not Found: Description: Booking with the specified ID not found. 409 Conflict: Description: The new time slot is unavailable. 500 Internal Server Error: Description: Server error. ``` -------------------------------- ### Get Package Details Source: https://apidocs.neetocal.com/api-reference/packages/list-packages Retrieves the details of a specific package using its ID. This endpoint provides comprehensive information about a single package, including its name, status, duration, and fee structure. ```APIDOC Packages API: GET /api/external/v1/packages/{packageId} Get a package Retrieves the details of a specific package. Parameters: packageId: { type: string, required: true, description: "The unique identifier of the package to retrieve." } Responses: 200 OK: Description: Details of the requested package. Content: application/json: schema: type: object properties: id: { type: string, description: "Unique identifier for the package." } name: { type: string, description: "Name of the package." } slug: { type: string, description: "URL-friendly identifier for the package." } status: { type: string, description: "Current status of the package (e.g., enabled, disabled)." } duration: { type: integer, description: "Duration of the package in seconds." } fee: type: object properties: id: { type: string } amount: { type: string } currency: { type: string } feeable_id: { type: string } feeable_type: { type: string } payment_provider: { type: string } kind: { type: string } min_amount: { type: string } taxes: { type: array, items: {} } is_default: { type: boolean } display_amount: { type: string } is_tax_enabled: { type: boolean } is_tip_enabled: { type: boolean } is_tax_applicable_on_tip: { type: boolean } vpas: { type: array, items: {} } amount_in_smallest_currency_unit: { type: integer } 400 Bad Request: Description: Invalid package ID provided. 404 Not Found: Description: Package with the specified ID not found. 401 Unauthorized: Description: Authentication failed. 500 Internal Server Error: Description: Server error. ``` -------------------------------- ### Create Discount Code API Source: https://apidocs.neetocal.com/api-reference/bookings/list-bookings Provides a link to the API endpoint for creating discount codes. Further details on parameters and response structure are available at the provided URL. ```APIDOC Discount Codes API * [POSTCreate a discount code](https://apidocs.neetocal.com/api-reference/discount-codes/create-discount-code) ``` -------------------------------- ### Get Scheduling Link Details Source: https://apidocs.neetocal.com/api-reference/packages/list-packages Retrieves the details of a specific scheduling link by its ID. This endpoint provides comprehensive information about a single scheduling link, including its configuration and associated settings. ```APIDOC Scheduling Links API: GET /api/external/v1/scheduling-links/{schedulingLinkId} Get details of a scheduling link Retrieves the details of a specific scheduling link. Parameters: schedulingLinkId: { type: string, required: true, description: "The unique identifier of the scheduling link." } Responses: 200 OK: Description: Details of the requested scheduling link. Content: application/json: schema: type: object properties: id: { type: string, description: "Unique identifier for the scheduling link." } name: { type: string, description: "Name of the scheduling link." } description: { type: string, description: "Optional description for the scheduling link." } duration: { type: integer, description: "Duration of the meeting in minutes." } availability_rule: type: object properties: type: { type: string } working_hours: { type: array, items: { type: object } } custom_slots: { type: array, items: { type: object } } team_member_ids: { type: array, items: { type: string }, description: "IDs of team members associated with this link." } location: { type: string } buffer_time_before: { type: integer } buffer_time_after: { type: integer } max_concurrent_bookings: { type: integer } enable_guest_booking: { type: boolean } guest_limit: { type: integer } enable_guest_form: { type: boolean } guest_form_fields: { type: array, items: { type: string } } enable_payment: { type: boolean } payment_link: { type: string } payment_amount: { type: string } payment_currency: { type: string } booking_url: { type: string } 400 Bad Request: Description: Invalid scheduling link ID. 401 Unauthorized: Description: Authentication failed. 404 Not Found: Description: Scheduling link with the specified ID not found. 500 Internal Server Error: Description: Server error. ``` -------------------------------- ### Update Meeting Request Body Source: https://apidocs.neetocal.com/api-reference/scheduling-links/update-meeting Defines the structure and parameters for the request body when updating a meeting. It includes fields for hosts, slug, name, description, kind, duration, and start time increment. ```APIDOC UpdateMeetingRequestBody: hosts: string[] (required) - Emails of the hosts of scheduling link in array format. Example: ["oliver@example.com", "jane@example.com"] slug: string (optional) - New slug of the scheduling link. This value should be unique. Example: "meeting-with-oliver-smith-new" name: string (optional) - New name of the scheduling link. Example: "Meeting with Oliver Smith" description: string (optional) - Description of the scheduling link. Example: "Discuss project updates" kind: enum (optional, default: one_on_one) - Kind of scheduling link. Available options: one_on_one, round_robin, multihost, grouped. duration: integer (optional) - Duration of the scheduling link in minutes. Example: 30 start_time_increment: integer (optional, default: 30) - Start time increment for the scheduling link in minutes. Example: 30 ``` -------------------------------- ### Packages API Source: https://apidocs.neetocal.com/api-reference/bookings/make-booking Manage packages, including listing all packages and retrieving details of a specific package. ```APIDOC GET /packages/list-packages Lists all available packages. GET /packages/get-package Retrieves details of a specific package. ``` -------------------------------- ### List Availabilities Source: https://apidocs.neetocal.com/api-reference/availabilities/list-availabilities Lists all availabilities for specified team members. Accepts team member emails as query parameters. Supports pagination. ```APIDOC GET /availabilities Headers: X-Api-Key: string (required) - Your NeetoCal API key. Query Parameters: emails[]: string[] (required) - Email addresses of team members. Multiple emails can be provided. page: string (optional) - Page number for pagination. page_size: string (optional) - Number of availabilities per page (default: 30). Response (200 OK): { "availabilities": [ { "id": "string", "sid": "string", "name": "string", "default": boolean, "after_buffer_time": integer, "before_buffer_time": integer, "periods": [ { "id": "string", "wday": "string", "start_time": "string", "end_time": "string" } ], "overrides": [ { "date": "string", "periods": [ { "wday": "string", "start_time": "string", "end_time": "string" } ] } ], "user": { "id": "string", "name": "string", "email": "string" } } ], "pagination": { "total_records": integer, "total_pages": integer, "current_page_number": integer, "page_size": integer } } Error Responses: 400: Bad Request 401: Unauthorized 500: Internal Server Error ``` -------------------------------- ### List Bookings API Source: https://apidocs.neetocal.com/api-reference/bookings/list-bookings Retrieves a list of bookings within a workspace. Supports filtering by client email, host email, meeting type, start time, and end time. Requires an API key for authentication. ```APIDOC Bookings API # List all bookings This API allows to get a list of bookings in a workspace. The bookings can be filtered based on client email, host email, type of meeting, meeting start time or meeting end time. GET /bookings Parameters: X-Api-Key: string (required) - You can generate an API key from the NeetoCal API Keys dashboard. Response (200 OK): { "bookings": [ { "id": "", "sid": "", "parent_booking_id": "", "email": "", "name": "", "host_name": "", "host_email": "", "is_multihost": true, "multihosts": [ { "name": "", "email": "" } ], "starts_at": "2023-11-07T05:31:56Z", "ends_at": "2023-11-07T05:31:56Z", "time_zone": "", "starts_at_for_client": "", "ends_at_for_client": "", "status": "", "cancel_reason": "", "cancelled_by": "", "reschedule_requested": true, "preferred_meeting_spot": "", "room_type": "", "room_url": "", "room_id": "", "spot_details": "", "created_at": "2023-11-07T05:31:56Z", "updated_at": "2023-11-07T05:31:56Z", "meeting_id": "", "meeting": { "name": "" }, "no_show": true, "meeting_outcome": "", "notes_url": "", "internal_notes": "", "metadata": {}, "admin_booking_url": "", "client_booking_url": "", "form_responses": [ { "field": "", "value": "", "type": "", "field_code": "" } ] } ], "pagination": { "total_records": 123, "total_pages": 123, "current_page_number": 123, "page_size": 123 } } Error Responses: 400: Bad Request 401: Unauthorized 500: Internal Server Error ``` ```cURL curl --request GET \ --url https://{workspace}.neetocal.com/api/external/v1/bookings \ --header 'X-Api-Key: ' ``` -------------------------------- ### Create Discount Code Source: https://apidocs.neetocal.com/api-reference/scheduling-links/list-meetings API endpoint for creating a discount code. Further details are available at the provided URL. ```APIDOC POST /api-reference/discount-codes/create-discount-code ``` -------------------------------- ### Availabilities API Source: https://apidocs.neetocal.com/api-reference/bookings/make-booking Manage availability settings for team members and scheduling links. ```APIDOC PATCH /availabilities/update-availability Updates an availability. GET /availabilities/get-availability Retrieves details about an availability. GET /availabilities/list-team-member-availabilities Lists all availabilities for a specific team member. GET /availabilities/list-availabilities Lists all availabilities for all team members. POST /availabilities/update-meeting-availability Updates the availability for a scheduling link. ``` -------------------------------- ### Get Scheduling Link Details Source: https://apidocs.neetocal.com/api-reference/scheduling-links/get-meeting Retrieves detailed information about a specific scheduling link using its unique meeting SID. Requires an API key for authentication. Returns a JSON object containing all properties of the scheduling link. ```APIDOC GET /api/external/v1/meetings/{meeting_sid} --- **Parameters:** * `workspace`: Your NeetoCal workspace subdomain (e.g., `your-company`). * `meeting_sid`: The unique identifier for the scheduling link. * `X-Api-Key`: Your NeetoCal API key for authentication. **Responses:** * `200 OK`: Successfully retrieved scheduling link details. * `400 Bad Request`: Invalid request parameters. * `401 Unauthorized`: Missing or invalid API key. * `404 Not Found`: Scheduling link not found. * `500 Internal Server Error`: Server error. **Example Response Body:** ```json { "id": "", "sid": "", "name": "", "slug": "", "description": "", "kind": "one_on_one", "duration": 123, "disabled": true, "spot": "custom", "spot_in_person_location": "", "spot_custom_text": "", "spot_phone_call_number": "", "is_template": true, "schedulable_range_type": "number_of_days_into_the_future", "schedulable_range_value": "", "lead_time": 123, "start_time_increment": 123, "created_at": "2024-12-23T05:05:27.037Z", "updated_at": "2025-03-31T13:22:19.832Z", "deleted_at": null, "is_multiple_spots_allowed": true, "is_multiple_durations_allowed": true, "conditional_pricing_enabled": true, "is_email_reminders_enabled": true, "is_sms_reminders_enabled": true, "organization_id": "", "rescheduling_lead_time": 123, "cancellation_lead_time": 123, "booking_modification_allowed": true, "cancellation_too_late_notice": "", "cancellation_policy": "", "rescheduling_too_late_notice": "", "pre_booking_allowed": true, "original_price_enabled": true, "original_price": 123, "fees": [ {} ], "durations_possible": [ 123 ] } ``` ``` ```curl curl --request GET \ --url https://{workspace}.neetocal.com/api/external/v1/meetings/{meeting_sid} \ --header 'X-Api-Key: ' ``` -------------------------------- ### Availabilities API Source: https://apidocs.neetocal.com/api-reference/bookings/list-bookings Manage availability settings for team members and scheduling links. Includes updating, retrieving, and listing availabilities. ```APIDOC PATCH /availabilities/update-availability Updates an existing availability. GET /availabilities/get-availability Retrieves details of a specific availability. GET /availabilities/list-team-member-availabilities Lists all availabilities for a specific team member. GET /availabilities/list-availabilities Lists all availabilities for all team members. POST /availabilities/update-meeting-availability Updates the availability for a given scheduling link. ``` -------------------------------- ### Get Meeting Details Source: https://apidocs.neetocal.com/api-reference/scheduling-links/get-meeting Fetches the details of a specific scheduling link by its unique SID. Requires an API key for authentication. The response includes comprehensive information about the scheduling link, such as its ID, name, duration, and scheduling settings. ```APIDOC GET /api/external/v1/meetings/{meeting_sid} Headers: X-Api-Key: string (required) - Your NeetoCal API key. Path Parameters: meeting_sid: string (required) - The unique SID of the scheduling link. Response (200 OK): { "id": "", "sid": "", "name": "", "slug": "", "description": "", "kind": "one_on_one", "duration": 123, "disabled": true, "spot": "custom", "spot_in_person_location": "", "spot_custom_text": "", "spot_phone_call_number": "", "is_template": true, "schedulable_range_type": "number_of_days_into_the_future", "schedulable_range_value": "", "lead_time": 123, "start_time_increment": 123, "created_at": "2024-12-23T05:05:27.037Z", "updated_at": "2025-03-31T13:22:19.832Z", "deleted_at": null, "is_multiple_spots_allowed": true, "is_multiple_durations_allowed": true, "conditional_pricing_enabled": true, "is_email_reminders_enabled": true, "is_sms_reminders_enabled": true, "organization_id": "", "rescheduling_lead_time": 123, "cancellation_lead_time": 123, "booking_modification_allowed": true, "cancellation_too_late_notice": "", "cancellation_policy": "", "rescheduling_too_late_notice": "", "pre_booking_allowed": true, "original_price_enabled": true, "original_price": 123, "fees": [ {} ], "durations_possible": [ 123 ] } Error Responses: 400: Bad Request 401: Unauthorized 404: Not Found 500: Internal Server Error ``` ```curl curl --request GET \ --url https://{workspace}.neetocal.com/api/external/v1/meetings/{meeting_sid} \ --header 'X-Api-Key: ' ``` -------------------------------- ### Get Availability Details Source: https://apidocs.neetocal.com/api-reference/availabilities/get-availability Retrieves detailed information about a specific availability using its ID. Requires an API key for authentication and the availability ID in the URL path. The response includes availability settings, periods, overrides, and associated user information. ```APIDOC GET /availabilities/{availability_id} Headers: X-Api-Key: string (required) - Your NeetoCal API key. Path Parameters: availability_id: string (required) - The unique identifier for the availability. Responses: 200 OK: Returns the availability details. 400 Bad Request: Invalid request parameters. 401 Unauthorized: Missing or invalid API key. 500 Internal Server Error: Server error. Example Response Body: { "availability": { "id": "01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a", "sid": "2nq7q5c", "name": "Availability for custom user", "default": false, "after_buffer_time": 0, "before_buffer_time": 0, "periods": [ { "id": "21c812a7-3859-4f01-b214-850e6f11caad", "wday": "monday", "start_time": "09:00 AM", "end_time": "05:00 PM" } ], "overrides": [ { "date": "2025-03-07", "periods": [ { "wday": "friday", "start_time": "10:00 AM", "end_time": "03:00 PM" } ] } ], "user": { "id": "b6d02dfa-8ef6-453d-b9f7-67a6f20bcaa6", "name": "Oliver Smith", "email": "oliver@example.com" } } } ``` ```curl curl --request GET \ --url https://{workspace}.neetocal.com/api/external/v1/availabilities/{availability_id} \ --header 'X-Api-Key: ' ``` -------------------------------- ### Availabilities API Source: https://apidocs.neetocal.com/api-reference/scheduling-links/create-meeting Endpoints for managing availability information for team members and scheduling links. ```APIDOC PATCH /availabilities/update-availability Updates an availability. GET /availabilities/get-availability Retrieves details about an availability. GET /availabilities/list-team-member-availabilities Lists all availabilities for a specific team member. GET /availabilities/list-availabilities Lists all availabilities for all team members. POST /availabilities/update-meeting-availability Updates the availability for a scheduling link. ``` -------------------------------- ### Update Meeting Availability Request Example Source: https://apidocs.neetocal.com/api-reference/availabilities/update-meeting-availability This cURL command demonstrates how to send a POST request to update the availability for a scheduling link. It includes the necessary headers, such as Content-Type and X-Api-Key, and a JSON payload specifying the availability periods for different days of the week. ```bash curl --request POST \ --url https://{workspace}.neetocal.com/api/external/v1/meetings/{meeting_sid}/availability \ --header 'Content-Type: application/json' \ --header 'X-Api-Key: ' \ --data '{ \ "periods": [ \ { \ "wday": "monday", \ "start_time": "09:00 AM", \ "end_time": "05:00 PM" \ }, \ { \ "wday": "tuesday", \ "start_time": "11:00 AM", \ "end_time": "04:00 PM" \ } \ ] \ }' ```