Outdoorsy Ics Calendars API
The ics-calendars API from Outdoorsy — 5 operation(s) for ics-calendars.
The ics-calendars API from Outdoorsy — 5 operation(s) for ics-calendars.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/outdoorsy-ics-calendars-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Outdoorsy Ics Calendars API
version: 0.0.1
description: 'Operations tagged ics-calendars across 2 of this provider''s published API definitions: outdoorsy-ics-calendars-api-openapi.yml, outdoorsy-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /v0
security:
- Bearer:
- '[]'
- API-Key:
- '[]'
tags:
- name: ics-calendars
paths:
/ics-calendars:
get:
tags:
- ics-calendars
summary: Returns list of ICSCalendar for a given user. Optionally could filter by user owned rental.
operationId: fetchCalendars
parameters:
- x-go-name: OwnerId
name: owner_user_id
in: query
schema:
type: integer
format: int64
- x-go-name: RentalID
name: rental_id
in: query
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/calendarsResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
post:
tags:
- ics-calendars
summary: Create calendar record with pending calendar log and trigger SyncICSCalendar job to sync it.
operationId: linkCalendar
parameters:
- x-go-name: OwnerId
name: owner_user_id
in: query
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/calendarResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LinkICSCalendarRequest'
servers:
- url: /v0
/ics-calendars/sync:
post:
tags:
- ics-calendars
summary: Trigger a job to sync all user eligible (last sync started at least 3 minutes ago) callendars. Optionally could be triggered for a specific user's calendar or user owned rental.
operationId: syncCalendars
parameters:
- x-go-name: OwnerId
name: owner_user_id
in: query
schema:
type: integer
format: int64
responses:
'204':
$ref: '#/components/responses/noContentResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetManyRequest'
servers:
- url: /v0
/ics-calendars/{calendar_id}:
delete:
tags:
- ics-calendars
summary: Delete calendar record with and calendar's logs.
operationId: unlinkCalendar
parameters:
- x-go-name: OwnerId
name: owner_user_id
in: query
schema:
type: integer
format: int64
- x-go-name: CalendarID
name: calendar_id
in: path
required: true
schema:
type: integer
format: int64
responses:
'204':
$ref: '#/components/responses/noContentResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
servers:
- url: /v0
/ics-export.ics:
get:
tags:
- ics-calendars
summary: Returns an .ics file with Outdoorsy availability per rental.
operationId: downloadICSFile
parameters:
- x-go-name: RentalId
name: rental_id
in: query
required: true
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/icsFileResponse'
'400':
$ref: '#/components/responses/badRequestError'
default:
$ref: '#/components/responses/genericError'
servers:
- url: /v0
/ics/export-url:
get:
tags:
- ics-calendars
summary: Returns URL to the .ics file download link.
operationId: exportURL
parameters:
- x-go-name: RentalId
name: rental_id
in: query
required: true
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/urlResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
default:
$ref: '#/components/responses/genericError'
servers:
- url: /v0
components:
responses:
calendarResponse:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ICSCalendar'
$ref: '#/components/schemas/ICSCalendar'
badRequestError:
description: Invalid input or state means you're bad
headers:
Error:
schema:
type: string
icsFileResponse:
description: ''
genericError:
description: An unknown, unexpected error.
urlResponse:
description: ''
unauthorizedError:
description: Unauthorized error
noContentResponse:
description: Everything went as planned
notFoundError:
description: Not found error
schemas:
ICSCalendar:
type: object
properties:
active:
type: boolean
x-go-name: Active
host:
type: string
x-go-name: Host
id:
type: integer
format: int64
x-go-name: ID
name:
type: string
x-go-name: Name
owner_user_id:
type: integer
format: int64
x-go-name: OwnerUserID
rental_id:
type: integer
format: int64
x-go-name: RentalID
url:
type: string
x-go-name: URL
x-go-package: github.com/outdoorsy/api/internal/ics/calendars
GetManyRequest:
type: object
properties:
calendar_id:
type: integer
format: int64
x-go-name: CalendarID
rental_id:
type: integer
format: int64
x-go-name: RentalID
x-go-package: github.com/outdoorsy/api/internal/ics/calendar_models
LinkICSCalendarRequest:
type: object
properties:
name:
type: string
x-go-name: Name
rental_id:
type: integer
format: int64
x-go-name: RentalID
url:
type: string
x-go-name: URL
x-go-package: github.com/outdoorsy/api/internal/ics/calendar_models
securitySchemes:
API-Key:
type: apiKey
name: API-Key
in: header
Bearer:
type: apiKey
name: Authorization
in: header
x-refined-from:
- outdoorsy-ics-calendars-api-openapi.yml
- outdoorsy-openapi-original.json