crisphive
Crisphive - the Ruby gem for the Crisphive Developer API
Public REST API for integrating Crisphive from your own backend. Authenticate every request with a secret API key as a Bearer token (Authorization: Bearer chsk_live_…). The key prefix selects the data environment: chsk_live_… → production (live), chsk_test_… → sandbox (isolated test).
Key scopes (restricted keys). A key is either full-access (can call every endpoint below) or restricted to a set of permission codes chosen at creation — the same codes as the dashboard permission grid (e.g. customers_view, job_create, team_manage). A restricted key calling an endpoint outside its scope gets 403. The full code list is the permission catalog (GET /permission/modules on the dashboard API). Create, scope, and revoke keys from the business dashboard.
Every response is wrapped in the envelope { \"error_code\": 0, \"message\": \"Success\", \"data\": <payload> }.
This SDK is automatically generated by the OpenAPI Generator project:
- API version: 1.0
- Package version: 0.2.0
- Generator version: 7.11.0
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
Installation
Build a gem
To build the Ruby code into a gem:
gem build crisphive.gemspec
Then either install the gem locally:
gem install ./crisphive-0.2.0.gem
(for development, run gem install --dev ./crisphive-0.2.0.gem to install the development dependencies)
or publish the gem to a gem hosting service, e.g. RubyGems.
Finally add this to the Gemfile:
gem 'crisphive', '~> 0.2.0'
Install from Git
If the Ruby gem is hosted at a git repository: https://github.com/crisphive/crisphive-ruby, then add the following in the Gemfile:
gem 'crisphive', :git => 'https://github.com/crisphive/crisphive-ruby.git'
Include the Ruby code directly
Include the Ruby code directly using -I as follows:
ruby -Ilib script.rb
Getting Started
Please follow the installation procedure and then run the following code:
# Load the gem
require 'crisphive'
# Setup authorization
Crisphive.configure do |config|
# Configure Bearer authorization (Crisphive secret key): ApiKeyAuth
config.access_token = 'YOUR_BEARER_TOKEN'
# Configure a proc to get access tokens in lieu of the static access_token configuration
config.access_token_getter = -> { 'YOUR TOKEN GETTER PROC' }
# Configure faraday connection
config.configure_faraday_connection { |connection| 'YOUR CONNECTION CONFIG PROC' }
end
api_instance = Crisphive::BusinessSkillApi.new
opts = {
page: 56, # Integer | Page number (default: 1)
limit: 56 # Integer | Page size (default: 15, max: 1000)
}
begin
#List skill categories
result = api_instance.list_skill_categories(opts)
p result
rescue Crisphive::ApiError => e
puts "Exception when calling BusinessSkillApi->list_skill_categories: #{e}"
end
Documentation for API Endpoints
All URIs are relative to https://api.crisphive.com/v1
| Class | Method | HTTP request | Description |
|---|---|---|---|
| Crisphive::BusinessSkillApi | list_skill_categories | GET /skill-categories | List skill categories |
| Crisphive::BusinessSkillApi | list_skills | GET /skills | List all skills |
| Crisphive::BusinessSkillApi | list_skills_by_category | GET /skill-categories/id/skills | List skills in a category |
| Crisphive::BusinessSkillApi | list_technician_skills | GET /technicians/id/skills | List skills for a technician |
| Crisphive::BusinessSkillApi | replace_technician_skills | PATCH /technicians/id/skills | Replace a technician's skills |
| Crisphive::CustomerApi | create_customer | POST /customers | Create a customer |
| Crisphive::CustomerApi | delete_customer | DELETE /customers/id | Delete a customer |
| Crisphive::CustomerApi | get_customer | GET /customers/id | Get a customer |
| Crisphive::CustomerApi | list_customers | GET /customers | List customers |
| Crisphive::CustomerApi | update_customer | PUT /customers/id | Update a customer |
| Crisphive::JobRequestBusinessApi | commit_emergency_reschedule | POST /job-requests/emergency/commit | Commit emergency insert + cascade reschedule |
| Crisphive::JobRequestBusinessApi | commit_job_request_move | POST /job-requests/id/move/commit | Commit a schedule-board job move |
| Crisphive::JobRequestBusinessApi | confirm_job_request | POST /job-requests/id/confirm | Confirm a booking on behalf of the customer |
| Crisphive::JobRequestBusinessApi | create_job_request | POST /job-requests | Create a job request |
| Crisphive::JobRequestBusinessApi | get_job_request | GET /job-requests/id | Get a job request |
| Crisphive::JobRequestBusinessApi | get_job_request_timeline | GET /job-requests/id/timeline | Job timeline |
| Crisphive::JobRequestBusinessApi | get_technician_schedule | GET /technicians/id/schedule | One technician's real schedule (sessions + time off) |
| Crisphive::JobRequestBusinessApi | list_crew_candidates | GET /job-requests/id/crew-candidates | Matching crew candidates for a job |
| Crisphive::JobRequestBusinessApi | list_emergency_candidates | POST /job-requests/emergency/candidates | Rank technicians for a P0 emergency insert |
| Crisphive::JobRequestBusinessApi | list_job_request_booking_windows | GET /job-requests/booking-windows | Booking availability |
| Crisphive::JobRequestBusinessApi | list_job_request_changes | GET /job-requests/changes | Poll for new & changed job requests (sync feed) |
| Crisphive::JobRequestBusinessApi | list_job_requests | GET /job-requests | List job requests |
| Crisphive::JobRequestBusinessApi | list_matching_slots | GET /job-requests/id/time-segments | Matching time slots for a quoted job |
| Crisphive::JobRequestBusinessApi | list_nearby_technicians | GET /technicians/nearby | Find nearby feasible technicians (job-less location query) |
| Crisphive::JobRequestBusinessApi | preview_emergency_reschedule | POST /job-requests/emergency/preview | Preview emergency insert + cascade reschedule |
| Crisphive::JobRequestBusinessApi | preview_job_request_move | POST /job-requests/id/move/preview | Preview a schedule-board job move |
| Crisphive::JobRequestBusinessApi | quote_job_request | POST /job-requests/id/quote | Fire quote (FIXED action — business) |
| Crisphive::JobRequestBusinessApi | update_job_priority | PATCH /job-requests/id/priority | Set job priority (scheduling staff) |
| Crisphive::JobTypesApi | get_job_type | GET /job-types/id | Get a job type |
| Crisphive::JobTypesApi | list_job_types | GET /job-types | List job types |
| Crisphive::ServiceAreaApi | get_service_area | GET /service-areas/id | Get a service area |
| Crisphive::ServiceAreaApi | list_service_areas | GET /service-areas | List service areas |
| Crisphive::TechnicianApi | create_technician | POST /technicians | Add a technician |
| Crisphive::TechnicianApi | delete_technician | DELETE /technicians/id | Remove a technician |
| Crisphive::TechnicianApi | get_technician | GET /technicians/id | Get a technician |
| Crisphive::TechnicianApi | list_technicians | GET /technicians | List technicians |
| Crisphive::TechnicianApi | replace_technician_buddies | PUT /technicians/id/buddies | Replace a technician's buddies |
| Crisphive::TechnicianApi | replace_technician_leads | PUT /technicians/id/leads | Replace a buddy's leaders (buddy side) |
| Crisphive::TechnicianApi | replace_technician_service_areas | PUT /technicians/id/service-areas | Replace a technician's service areas |
| Crisphive::TechnicianApi | replace_technician_vehicles | PUT /technicians/id/vehicles | Replace a technician's vehicles |
| Crisphive::TechnicianApi | update_technician | PUT /technicians/id | Update a technician |
| Crisphive::VehicleApi | get_vehicle | GET /vehicles/id | Get a vehicle |
| Crisphive::VehicleApi | list_vehicles | GET /vehicles | List vehicles |
Documentation for Models
- Crisphive::CommitEmergencyReschedule200Response
- Crisphive::CommitJobRequestMove200Response
- Crisphive::CreateCustomer200Response
- Crisphive::CreateJobRequest200Response
- Crisphive::CreateTechnician200Response
- Crisphive::Customer
- Crisphive::CustomerAddress
- Crisphive::CustomerAddressRequest
- Crisphive::CustomerContact
- Crisphive::CustomerCreateRequest
- Crisphive::CustomerCreateResponse
- Crisphive::CustomerList
- Crisphive::CustomerListItem
- Crisphive::CustomerProfile
- Crisphive::CustomerSpending
- Crisphive::CustomerTierProgress
- Crisphive::CustomerUpdateRequest
- Crisphive::GetCustomer200Response
- Crisphive::GetJobRequest200Response
- Crisphive::GetJobRequestTimeline200Response
- Crisphive::GetJobType200Response
- Crisphive::GetServiceArea200Response
- Crisphive::GetTechnician200Response
- Crisphive::GetTechnicianSchedule200Response
- Crisphive::GetVehicle200Response
- Crisphive::JobDate
- Crisphive::JobDateBusinessRange
- Crisphive::JobDatePeriod
- Crisphive::JobDatePeriodEntry
- Crisphive::JobRequest
- Crisphive::JobRequestActionAuditBy
- Crisphive::JobRequestActionAuditEntry
- Crisphive::JobRequestActionSummary
- Crisphive::JobRequestAddressSummary
- Crisphive::JobRequestArchiveSummary
- Crisphive::JobRequestArrivalWindow
- Crisphive::JobRequestAssignedVehicle
- Crisphive::JobRequestAssignmentSummary
- Crisphive::JobRequestAttentionSummary
- Crisphive::JobRequestAvailableVehicle
- Crisphive::JobRequestBookingWindows
- Crisphive::JobRequestBuddySlotCandidates
- Crisphive::JobRequestBusinessTimeRange
- Crisphive::JobRequestChanges
- Crisphive::JobRequestConfirmRequest
- Crisphive::JobRequestCreateRequest
- Crisphive::JobRequestCreateResponse
- Crisphive::JobRequestCrewCandidates
- Crisphive::JobRequestCrewChange
- Crisphive::JobRequestCrewMember
- Crisphive::JobRequestCrewMemberInput
- Crisphive::JobRequestCrewRecommendation
- Crisphive::JobRequestCustomerSummary
- Crisphive::JobRequestDayWindows
- Crisphive::JobRequestEmergencyCandidate
- Crisphive::JobRequestEmergencyCandidates
- Crisphive::JobRequestEmergencyCandidatesRequest
- Crisphive::JobRequestEmergencyCommitRequest
- Crisphive::JobRequestEmergencyPlan
- Crisphive::JobRequestEmergencyPreviewRequest
- Crisphive::JobRequestJobDateBusinessRangeRequest
- Crisphive::JobRequestJobDatePeriodRequest
- Crisphive::JobRequestJobDateRequest
- Crisphive::JobRequestLeadCandidate
- Crisphive::JobRequestList
- Crisphive::JobRequestMoveCommitReq
- Crisphive::JobRequestMoveMember
- Crisphive::JobRequestMovePlan
- Crisphive::JobRequestMovePreviewReq
- Crisphive::JobRequestMoveWarning
- Crisphive::JobRequestPeriod
- Crisphive::JobRequestQuoteRequest
- Crisphive::JobRequestQuoteSummary
- Crisphive::JobRequestRatingSummary
- Crisphive::JobRequestRescheduleDay
- Crisphive::JobRequestRescheduleMove
- Crisphive::JobRequestRescheduleReassignment
- Crisphive::JobRequestSchedule
- Crisphive::JobRequestSession
- Crisphive::JobRequestSkillSummary
- Crisphive::JobRequestStatusSummary
- Crisphive::JobRequestTechCandidate
- Crisphive::JobRequestTechnicianInfo
- Crisphive::JobRequestTimeSegments
- Crisphive::JobRequestTimeSegmentsBusinessTime
- Crisphive::JobRequestTimeSegmentsDay
- Crisphive::JobRequestTimeSegmentsSlot
- Crisphive::JobRequestTimeSegmentsWorker
- Crisphive::JobRequestTimeline
- Crisphive::JobRequestTimelineAction
- Crisphive::JobRequestTimelineEvent
- Crisphive::JobRequestUpdatePriorityRequest
- Crisphive::JobType
- Crisphive::ListCrewCandidates200Response
- Crisphive::ListCustomers200Response
- Crisphive::ListEmergencyCandidates200Response
- Crisphive::ListJobRequestBookingWindows200Response
- Crisphive::ListJobRequestChanges200Response
- Crisphive::ListJobRequests200Response
- Crisphive::ListJobTypes200Response
- Crisphive::ListMatchingSlots200Response
- Crisphive::ListNearbyTechnicians200Response
- Crisphive::ListServiceAreas200Response
- Crisphive::ListSkillCategories200Response
- Crisphive::ListSkills200Response
- Crisphive::ListSkillsByCategory200Response
- Crisphive::ListTechnicianSkills200Response
- Crisphive::ListTechnicians200Response
- Crisphive::ListVehicles200Response
- Crisphive::NearbyTechnician
- Crisphive::NearbyTechnicians
- Crisphive::Pagination
- Crisphive::ReplaceTechnicianServiceAreas200Response
- Crisphive::ResponseEnvelope
- Crisphive::ServiceArea
- Crisphive::ServiceAreaList
- Crisphive::Skill
- Crisphive::SkillByCategoryList
- Crisphive::SkillCategory
- Crisphive::SkillCategoryList
- Crisphive::SkillList
- Crisphive::SkillSummary
- Crisphive::Technician
- Crisphive::TechnicianAddress
- Crisphive::TechnicianAddressInput
- Crisphive::TechnicianBuddiesRequest
- Crisphive::TechnicianCreateRequest
- Crisphive::TechnicianCreateResponse
- Crisphive::TechnicianLeadRef
- Crisphive::TechnicianLeadsRequest
- Crisphive::TechnicianList
- Crisphive::TechnicianSchedule
- Crisphive::TechnicianScheduleBlock
- Crisphive::TechnicianScheduleSession
- Crisphive::TechnicianServiceAreaRef
- Crisphive::TechnicianServiceAreasRequest
- Crisphive::TechnicianServiceAreasResponse
- Crisphive::TechnicianSkill
- Crisphive::TechnicianSkillList
- Crisphive::TechnicianSkillsRequest
- Crisphive::TechnicianStatus
- Crisphive::TechnicianUpdateRequest
- Crisphive::TechnicianVehiclesRequest
- Crisphive::Vehicle
- Crisphive::VehicleList
- Crisphive::VehicleOwner
Documentation for Authorization
Authentication schemes defined for the API:
ApiKeyAuth
- Type: Bearer authentication (Crisphive secret key)