crisphive
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 Python package 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.PythonClientCodegen
Requirements.
Python 3.8+
Installation & Usage
pip install
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/crisphive/crisphive-python.git
(you may need to run pip with root permission: sudo pip install git+https://github.com/crisphive/crisphive-python.git)
Then import the package:
import crisphive
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install to install the package for all users)
Then import the package:
import crisphive
Tests
Execute pytest to run the tests.
Getting Started
Please follow the installation procedure and then run the following:
import crisphive
from crisphive.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.crisphive.com/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = crisphive.Configuration(
host = "https://api.crisphive.com/v1"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization (Crisphive secret key): ApiKeyAuth
configuration = crisphive.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with crisphive.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = crisphive.BusinessSkillApi(api_client)
page = 56 # int | Page number (default: 1) (optional)
limit = 56 # int | Page size (default: 15, max: 1000) (optional)
try:
# List skill categories
api_response = api_instance.list_skill_categories(page=page, limit=limit)
print("The response of BusinessSkillApi->list_skill_categories:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling BusinessSkillApi->list_skill_categories: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to https://api.crisphive.com/v1
| Class | Method | HTTP request | Description |
|---|---|---|---|
| BusinessSkillApi | list_skill_categories | GET /skill-categories | List skill categories |
| BusinessSkillApi | list_skills | GET /skills | List all skills |
| BusinessSkillApi | list_skills_by_category | GET /skill-categories/{id}/skills | List skills in a category |
| BusinessSkillApi | list_technician_skills | GET /technicians/{id}/skills | List skills for a technician |
| BusinessSkillApi | replace_technician_skills | PATCH /technicians/{id}/skills | Replace a technician's skills |
| CustomerApi | create_customer | POST /customers | Create a customer |
| CustomerApi | delete_customer | DELETE /customers/{id} | Delete a customer |
| CustomerApi | get_customer | GET /customers/{id} | Get a customer |
| CustomerApi | list_customers | GET /customers | List customers |
| CustomerApi | update_customer | PUT /customers/{id} | Update a customer |
| JobRequestBusinessApi | commit_emergency_reschedule | POST /job-requests/emergency/commit | Commit emergency insert + cascade reschedule |
| JobRequestBusinessApi | commit_job_request_move | POST /job-requests/{id}/move/commit | Commit a schedule-board job move |
| JobRequestBusinessApi | confirm_job_request | POST /job-requests/{id}/confirm | Confirm a booking on behalf of the customer |
| JobRequestBusinessApi | create_job_request | POST /job-requests | Create a job request |
| JobRequestBusinessApi | get_job_request | GET /job-requests/{id} | Get a job request |
| JobRequestBusinessApi | get_job_request_timeline | GET /job-requests/{id}/timeline | Job timeline |
| JobRequestBusinessApi | get_technician_schedule | GET /technicians/{id}/schedule | One technician's real schedule (sessions + time off) |
| JobRequestBusinessApi | list_crew_candidates | GET /job-requests/{id}/crew-candidates | Matching crew candidates for a job |
| JobRequestBusinessApi | list_emergency_candidates | POST /job-requests/emergency/candidates | Rank technicians for a P0 emergency insert |
| JobRequestBusinessApi | list_job_request_booking_windows | GET /job-requests/booking-windows | Booking availability |
| JobRequestBusinessApi | list_job_request_changes | GET /job-requests/changes | Poll for new & changed job requests (sync feed) |
| JobRequestBusinessApi | list_job_requests | GET /job-requests | List job requests |
| JobRequestBusinessApi | list_matching_slots | GET /job-requests/{id}/time-segments | Matching time slots for a quoted job |
| JobRequestBusinessApi | list_nearby_technicians | GET /technicians/nearby | Find nearby feasible technicians (job-less location query) |
| JobRequestBusinessApi | preview_emergency_reschedule | POST /job-requests/emergency/preview | Preview emergency insert + cascade reschedule |
| JobRequestBusinessApi | preview_job_request_move | POST /job-requests/{id}/move/preview | Preview a schedule-board job move |
| JobRequestBusinessApi | quote_job_request | POST /job-requests/{id}/quote | Fire quote (FIXED action — business) |
| JobRequestBusinessApi | update_job_priority | PATCH /job-requests/{id}/priority | Set job priority (scheduling staff) |
| JobTypesApi | get_job_type | GET /job-types/{id} | Get a job type |
| JobTypesApi | list_job_types | GET /job-types | List job types |
| ServiceAreaApi | get_service_area | GET /service-areas/{id} | Get a service area |
| ServiceAreaApi | list_service_areas | GET /service-areas | List service areas |
| TechnicianApi | create_technician | POST /technicians | Add a technician |
| TechnicianApi | delete_technician | DELETE /technicians/{id} | Remove a technician |
| TechnicianApi | get_technician | GET /technicians/{id} | Get a technician |
| TechnicianApi | list_technicians | GET /technicians | List technicians |
| TechnicianApi | replace_technician_buddies | PUT /technicians/{id}/buddies | Replace a technician's buddies |
| TechnicianApi | replace_technician_leads | PUT /technicians/{id}/leads | Replace a buddy's leaders (buddy side) |
| TechnicianApi | replace_technician_service_areas | PUT /technicians/{id}/service-areas | Replace a technician's service areas |
| TechnicianApi | replace_technician_vehicles | PUT /technicians/{id}/vehicles | Replace a technician's vehicles |
| TechnicianApi | update_technician | PUT /technicians/{id} | Update a technician |
| VehicleApi | get_vehicle | GET /vehicles/{id} | Get a vehicle |
| VehicleApi | list_vehicles | GET /vehicles | List vehicles |
Documentation For Models
- CommitEmergencyReschedule200Response
- CommitJobRequestMove200Response
- CreateCustomer200Response
- CreateJobRequest200Response
- CreateTechnician200Response
- Customer
- CustomerAddress
- CustomerAddressRequest
- CustomerContact
- CustomerCreateRequest
- CustomerCreateResponse
- CustomerList
- CustomerListItem
- CustomerProfile
- CustomerSpending
- CustomerTierProgress
- CustomerUpdateRequest
- GetCustomer200Response
- GetJobRequest200Response
- GetJobRequestTimeline200Response
- GetJobType200Response
- GetServiceArea200Response
- GetTechnician200Response
- GetTechnicianSchedule200Response
- GetVehicle200Response
- JobDate
- JobDateBusinessRange
- JobDatePeriod
- JobDatePeriodEntry
- JobRequest
- JobRequestActionAuditBy
- JobRequestActionAuditEntry
- JobRequestActionSummary
- JobRequestAddressSummary
- JobRequestArchiveSummary
- JobRequestArrivalWindow
- JobRequestAssignedVehicle
- JobRequestAssignmentSummary
- JobRequestAttentionSummary
- JobRequestAvailableVehicle
- JobRequestBookingWindows
- JobRequestBuddySlotCandidates
- JobRequestBusinessTimeRange
- JobRequestChanges
- JobRequestConfirmRequest
- JobRequestCreateRequest
- JobRequestCreateResponse
- JobRequestCrewCandidates
- JobRequestCrewChange
- JobRequestCrewMember
- JobRequestCrewMemberInput
- JobRequestCrewRecommendation
- JobRequestCustomerSummary
- JobRequestDayWindows
- JobRequestEmergencyCandidate
- JobRequestEmergencyCandidates
- JobRequestEmergencyCandidatesRequest
- JobRequestEmergencyCommitRequest
- JobRequestEmergencyPlan
- JobRequestEmergencyPreviewRequest
- JobRequestJobDateBusinessRangeRequest
- JobRequestJobDatePeriodRequest
- JobRequestJobDateRequest
- JobRequestLeadCandidate
- JobRequestList
- JobRequestMoveCommitReq
- JobRequestMoveMember
- JobRequestMovePlan
- JobRequestMovePreviewReq
- JobRequestMoveWarning
- JobRequestPeriod
- JobRequestQuoteRequest
- JobRequestQuoteSummary
- JobRequestRatingSummary
- JobRequestRescheduleDay
- JobRequestRescheduleMove
- JobRequestRescheduleReassignment
- JobRequestSchedule
- JobRequestSession
- JobRequestSkillSummary
- JobRequestStatusSummary
- JobRequestTechCandidate
- JobRequestTechnicianInfo
- JobRequestTimeSegments
- JobRequestTimeSegmentsBusinessTime
- JobRequestTimeSegmentsDay
- JobRequestTimeSegmentsSlot
- JobRequestTimeSegmentsWorker
- JobRequestTimeline
- JobRequestTimelineAction
- JobRequestTimelineEvent
- JobRequestUpdatePriorityRequest
- JobType
- ListCrewCandidates200Response
- ListCustomers200Response
- ListEmergencyCandidates200Response
- ListJobRequestBookingWindows200Response
- ListJobRequestChanges200Response
- ListJobRequests200Response
- ListJobTypes200Response
- ListMatchingSlots200Response
- ListNearbyTechnicians200Response
- ListServiceAreas200Response
- ListSkillCategories200Response
- ListSkills200Response
- ListSkillsByCategory200Response
- ListTechnicianSkills200Response
- ListTechnicians200Response
- ListVehicles200Response
- NearbyTechnician
- NearbyTechnicians
- Pagination
- ReplaceTechnicianServiceAreas200Response
- ResponseEnvelope
- ServiceArea
- ServiceAreaList
- Skill
- SkillByCategoryList
- SkillCategory
- SkillCategoryList
- SkillList
- SkillSummary
- Technician
- TechnicianAddress
- TechnicianAddressInput
- TechnicianBuddiesRequest
- TechnicianCreateRequest
- TechnicianCreateResponse
- TechnicianLeadRef
- TechnicianLeadsRequest
- TechnicianList
- TechnicianSchedule
- TechnicianScheduleBlock
- TechnicianScheduleSession
- TechnicianServiceAreaRef
- TechnicianServiceAreasRequest
- TechnicianServiceAreasResponse
- TechnicianSkill
- TechnicianSkillList
- TechnicianSkillsRequest
- TechnicianStatus
- TechnicianUpdateRequest
- TechnicianVehiclesRequest
- Vehicle
- VehicleList
- VehicleOwner
Documentation For Authorization
Authentication schemes defined for the API:
ApiKeyAuth
- Type: Bearer authentication (Crisphive secret key)
Author
Metadata
Release files for crisphive 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| crisphive-0.2.0.tar.gz | 113.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crisphive-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 489.9 kB
Release files / crisphive-0.2.0.tar.gz
| Download URL | crisphive-0.2.0.tar.gz |
|---|---|
| Size | 113.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb1ef4485bb368a313df43a2d9cefa47547059b009c1abd98db72c2be7116827
|
|
BLAKE2b-256 checksum How to use checksums |
f824833eae1cdc21434a319d18cde72783d3f57732a4a9bc3cce9cbae244c949
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / crisphive-0.2.0-py3-none-any.whl
| Download URL | crisphive-0.2.0-py3-none-any.whl |
|---|---|
| Size | 376.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e990662c48a30d97d8aa2e15fc0504aa4bf230d7122ebcdcfff629e8bf7d4a2
|
|
BLAKE2b-256 checksum How to use checksums |
a650f08b4f6a9a9bc13ae64659de969e5f2d1d8bdc2647da042a2604ea1dd562
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|