@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Connector API
@base https://unify.apideck.com
@version 10.24.14
@auth ApiKey Authorization in header
@common_fields {x-apideck-app-id: str # The ID of your Unify application}
@endpoints 10
@toc connector(10)

@endpoint GET /connector/connectors
@desc List Connectors
@optional {cursor: str # Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response., limit: int=20 # Number of results to return. Minimum 1, Maximum 200, Default 20, filter: map # Apply filters}
@returns(200) {status_code: int, status: str, data: [map], _raw: map?, meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}} # Connectors
@errors {400: Bad Request, 401: Unauthorized, 402: Payment Required}

@endpoint GET /connector/connectors/{id}
@desc Get Connector
@required {id: str # ID of the record you are acting upon.}
@returns(200) {status_code: int, status: str, data: map{id: str, name: str, status: str, description: str?, icon_url: str(uri), logo_url: str, website_url: str(uri), signup_url: str(uri), partner_signup_url: str(uri), free_trial_available: bool, auth_type: str, auth_only: bool, blind_mapped: bool, oauth_grant_type: str, oauth_credentials_source: str, oauth_scopes: [map], custom_scopes: bool, has_sandbox_credentials: bool, settings: [map], service_id: str, unified_apis: [map], supported_resources: [map], configurable_resources: [str], supported_events: [map], webhook_support: map{mode: str, subscription_level: str, managed_via: str, virtual_webhooks: map{request_rate: map, resources: map}}, schema_support: map{supported: bool}, docs: [map], tls_support: map{type: str, description: str}}, _raw: map?, meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}} # Connectors
@errors {401: Unauthorized, 402: Payment Required, 404: The specified resource was not found}

@endpoint GET /connector/connectors/{id}/docs/{doc_id}
@desc Get Connector Doc content
@required {id: str # ID of the record you are acting upon., doc_id: str # ID of the Doc}
@returns(200) Connectors
@errors {401: Unauthorized, 402: Payment Required, 404: The specified resource was not found}

@endpoint GET /connector/connectors/{id}/resources/{resource_id}
@desc Get Connector Resource
@required {id: str # ID of the record you are acting upon., resource_id: str # ID of the resource you are acting upon.}
@optional {unified_api: str # Specify unified API for the connector resource. This is useful when a resource appears in multiple APIs}
@returns(200) {status_code: int, status: str, data: map{id: str, name: str, downstream_id: str, downstream_name: str, status: str, pagination_supported: bool, pagination: map{mode: str, paging_support: bool, limit_support: bool}, custom_fields_supported: bool, supported_operations: [str], downstream_unsupported_operations: [str], supported_filters: [str], supported_sort_by: [str], supported_fields: [map], supported_list_fields: [map]}, _raw: map?, meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}} # ConnectorResources
@errors {401: Unauthorized, 402: Payment Required, 404: The specified resource was not found}

@endpoint GET /connector/connectors/{id}/resources/{resource_id}/unified_api/{api_id}/schema
@desc Get Connector Resource Schema
@required {id: str # ID of the record you are acting upon., resource_id: str # ID of the resource you are acting upon., api_id: str # ID of the Unified API}
@returns(200) {status_code: int, status: str, data: map, _raw: map?} # Connector Resource Schema
@errors {401: Unauthorized, 402: Payment Required, 404: The specified resource was not found}

@endpoint GET /connector/connectors/{id}/resources/{resource_id}/unified_api/{api_id}/example
@desc Get Connector Resource Example
@required {id: str # ID of the record you are acting upon., resource_id: str # ID of the resource you are acting upon., api_id: str # ID of the Unified API}
@returns(200) {status_code: int, status: str, data: map{unified_api: str, service_id: str, resource: map{id: str, name: str, status: str, downstream_id: str, downstream_name: str}, example_response: map, workflow_examples: map}, _raw: map?} # Connector Resource Example
@errors {401: Unauthorized, 402: Payment Required, 404: The specified resource was not found}

@endpoint GET /connector/apis
@desc List APIs
@optional {cursor: str # Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response., limit: int=20 # Number of results to return. Minimum 1, Maximum 200, Default 20, filter: map # Apply filters}
@returns(200) {status_code: int, status: str, data: [map], _raw: map?, meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}} # Apis
@errors {400: Bad Request, 401: Unauthorized, 402: Payment Required}

@endpoint GET /connector/apis/{id}
@desc Get API
@required {id: str # ID of the record you are acting upon.}
@returns(200) {status_code: int, status: str, data: map{id: str, type: str, name: str, description: str?, status: str, spec_url: str, api_reference_url: str, postman_collection_id: str?, categories: [str], resources: [map], events: [str]}, _raw: map?, meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}} # Apis
@errors {401: Unauthorized, 402: Payment Required, 404: The specified resource was not found}

@endpoint GET /connector/apis/{id}/resources/{resource_id}
@desc Get API Resource
@required {id: str # ID of the record you are acting upon., resource_id: str # ID of the resource you are acting upon.}
@returns(200) {status_code: int, status: str, data: map{id: str, name: str, status: str, linked_resources: [map], schema: map}, _raw: map?, meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}} # ApiResources
@errors {401: Unauthorized, 402: Payment Required, 404: The specified resource was not found}

@endpoint GET /connector/apis/{id}/resources/{resource_id}/coverage
@desc Get API Resource Coverage
@required {id: str # ID of the record you are acting upon., resource_id: str # ID of the resource you are acting upon.}
@returns(200) {status_code: int, status: str, data: map{id: str, name: str, status: str, coverage: [map]}, _raw: map?, meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}} # ApiResources
@errors {401: Unauthorized, 402: Payment Required, 404: The specified resource was not found}

@end
