Skip to main content

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.3.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.WebhooksApi(api_client)
    webhook_create_request = crisphive.WebhookCreateRequest() # WebhookCreateRequest | Webhook details
    idempotency_key = 'idempotency_key_example' # str | Unique key making retries safe: a repeat send with the same key replays the original response (header Idempotent-Replayed: true) instead of minting a second endpoint + secret. Reusing a key with a different body returns 422. (optional)

    try:
        # Create a webhook endpoint
        api_response = api_instance.create_webhook_endpoint(webhook_create_request, idempotency_key=idempotency_key)
        print("The response of WebhooksApi->create_webhook_endpoint:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling WebhooksApi->create_webhook_endpoint: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.crisphive.com/v1

Class Method HTTP request Description
WebhooksApi create_webhook_endpoint POST /webhooks Create a webhook endpoint
WebhooksApi delete_webhook_endpoint DELETE /webhooks/{id} Delete a webhook endpoint
WebhooksApi list_webhook_event_types GET /webhooks/event-types List subscribable webhook event types
BusinessSkillApi create_skill POST /skill-categories/{id}/skills Create a skill
BusinessSkillApi create_skill_category POST /skill-categories Create a skill category
BusinessSkillApi delete_skill DELETE /skills/{id} Delete a skill
BusinessSkillApi delete_skill_category DELETE /skill-categories/{id} Delete a skill category
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
BusinessSkillApi update_skill PUT /skills/{id} Update a skill
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 book_and_confirm_job_request POST /job-requests/book-and-confirm Book, schedule and confirm a job in one call
JobRequestBusinessApi commit_absence_resolve POST /job-requests/absence/commit Commit the previewed re-staffing of a technician's day
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_absence_resolve POST /job-requests/absence/preview Preview re-staffing a technician's whole day (sick call)
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 create_job_type POST /job-types Add a job type to the catalog
JobTypesApi delete_job_type DELETE /job-types/{id} Remove a job type from the catalog
JobTypesApi get_job_type GET /job-types/{id} Get a job type
JobTypesApi list_job_types GET /job-types List job types
JobTypesApi update_job_type PUT /job-types/{id} Rename a job type or change its availability
PermissionApi list_assignable_groups GET /permission/groups/assignable List groups the caller may assign to a member
ServiceAreaApi create_service_area POST /service-areas Define a territory the business serves
ServiceAreaApi delete_service_area DELETE /service-areas/{id} Stop serving a territory
ServiceAreaApi get_service_area GET /service-areas/{id} Get a service area
ServiceAreaApi list_service_areas GET /service-areas List service areas
ServiceAreaApi update_service_area PUT /service-areas/{id} Adjust a territory's details or its boundary
TechnicianApi create_technician POST /technicians Add a technician
TechnicianApi delete_technician DELETE /technicians/{id} Remove a technician from the business
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
TechnicianTimeOffApi create_technician_time_off POST /technician-time-off Record a technician's time off (sick day, leave)
TechnicianTimeOffApi delete_technician_time_off DELETE /technician-time-off/{id} Delete a technician's time off (e.g. back from a sick day)
TechnicianTimeOffApi list_technician_time_off GET /technicians/{id}/time-off List time off for a specific technician
VehicleApi create_vehicle POST /vehicles Add a vehicle to the fleet
VehicleApi delete_vehicle DELETE /vehicles/{id} Retire a vehicle from the fleet
VehicleApi get_vehicle GET /vehicles/{id} Get a vehicle
VehicleApi list_vehicles GET /vehicles List vehicles
VehicleApi update_vehicle PUT /vehicles/{id} Change a vehicle's details

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

ApiKeyAuth

  • Type: Bearer authentication (Crisphive secret key)

Author

Metadata

Release files for crisphive 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crisphive 0.3.0
File Size Uploaded Provenance
crisphive-0.3.0.tar.gz 178.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for crisphive 0.3.0
File Interpreter ABI Platform
crisphive-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 731.1 kB

Release files / crisphive-0.3.0.tar.gz

Download URL crisphive-0.3.0.tar.gz
Size 178.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7ce07765862b60769d0f8da2a717944a0dc48205074f894ab18e20d0b305f66f
BLAKE2b-256 checksum
How to use checksums
eef280a220e946d8f55fcebb35db420e513f0e69ce364ef443e352ba3083ed12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / crisphive-0.3.0-py3-none-any.whl

Download URL crisphive-0.3.0-py3-none-any.whl
Size 552.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f768504c418b9363541666cfc0f27fb90a56f068f12413f32284430fb16340b2
BLAKE2b-256 checksum
How to use checksums
a09458cbe7461e6f1cf4a991449020fba10741312e0af580e838d3eaeab8a116
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Security for crisphive 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page