# Nursa Public API V2 — reconstructed by the API Evangelist enrichment pipeline. # # Nursa does not publish a downloadable OpenAPI document. Its reference docs at # https://docs.nursa.com/ are built with docusaurus-plugin-openapi-docs, which embeds each # operation's ORIGINAL OpenAPI object (operationId, parameters, requestBody, responses, # security, tags, servers, securitySchemes, info) into the page's JS chunk as a # zlib+base64 payload. Every path, operation, schema and example below was decoded from # those published chunks verbatim — nothing was authored or inferred by API Evangelist. # # Only the following were added by the pipeline, and each is documented and probed: # - openapi: 3.0.3 (the docs bundle carries operations, not a document version) # - info.description, info.contact, externalDocs # - the production server entry (https://public-api.prod.nursa.com), published at # https://docs.nursa.com/docs/Getting Started/Accessing the API/ and probed 401 # # generated: '2026-08-04' method: derived # source: https://docs.nursa.com/ (docusaurus-plugin-openapi-docs page chunks) openapi: 3.0.3 info: title: Nursa Public API V2 version: '2' x-evidence: harvested: '2026-08-04' method: derived source: https://docs.nursa.com/ note: decoded from the published docusaurus-plugin-openapi-docs page chunks; operations verbatim description: The Nursa Public API lets healthcare facilities and their scheduling/workforce systems post and manage per diem shifts on the Nursa marketplace, review clinician shift requests, schedule clinicians, handle shift reports and cancellations, read clinician credentials, and subscribe to webhooks. contact: name: Nursa API Team url: https://docs.nursa.com/ email: josh.bear@nursa.com externalDocs: description: Nursa Public API documentation url: https://docs.nursa.com/ servers: - url: https://public-api.prod.nursa.com description: Production (documented at docs.nursa.com Accessing the API; probed 2026-08-04 -> 401) - url: https://public-api.sandbox.nursa.com description: Sandbox (the server declared in the published docs bundle; probed 2026-08-04 -> 401) tags: - name: Clinicians - name: Downloads - name: Facilities - name: Facilities webhooks - name: Licenses - name: Marketplace - name: Scheduled shifts - name: Shift reports - name: Shift requests - name: Shifts - name: User webhooks - name: Webhook logs paths: /api/v2/public/clinicians/{clinicianId}/details: get: operationId: CliniciansController_getDetails summary: Get Clinician Details description: |
This endpoint allows you to retrieve clinician information
tags: - Clinicians security: - public-api: [] parameters: - name: clinicianId required: true in: path description: Clinician ID example: I7002epLHLhBCypdPCrn9XP4kTN2 schema: type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: clinicianId: type: string description: Id of the clinician example: gpMEmsoXfWVmhXJIvXipPjo0dc43 firstName: type: string description: First name of the clinician example: John lastName: type: string description: Last name of the clinician example: Doe contactEmail: type: string description: Email of the clinician example: john@doe.com contactPhone: type: string description: Contact phone of the clinician example: '+12345678910' licenseType: type: Array description: List of valid license types of the clinician example: - RN - CNA required: - clinicianId - firstName - lastName - contactEmail - contactPhone - licenseType title: GetClinicianDetailsResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - clinicianId must be a string error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/clinicians/{clinicianId}/documents: get: operationId: CliniciansController_getDocuments summary: Get Clinician Documents description: |This endpoint allows facilities to retrieve a list of all documents associated with a specific clinician.
The endpoint returns documents organized by the following categories:
This endpoint allows you to download a specific attachment file associated with a clinician's document.
This endpoint retrieves all file attachments associated with a specific clinician document.
Returns link to download detailed clinician profile for a shift.
tags: - Downloads security: - public-api: [] parameters: - name: shiftId required: true in: path description: Id of the shift example: '4603117571' schema: type: string - name: clinicianId required: true in: path description: Id of the clinician example: lcFQMy1n0decDeZljQG2wUNZBru7 schema: type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: url: type: string example: https://nursa.page.link/N9Bw required: - url title: DownloadClinicianProfileResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - shiftId must be a string - clinicianId must be a string error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 examples: Clinician did not Requested: summary: Clinician didn't requested this shift. value: message: Clinician didn't requested this shift. error: Forbidden statusCode: 403 '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: Error description example: Not Found error: type: string description: The type of error example: Not Found statusCode: type: integer description: Status code of the error example: 404 examples: Not Ready: summary: Clinician profile is not ready value: message: Clinician profile url is not available yet, try again later. error: Not Found statusCode: 404 Failed: summary: Failed to retrieve shift request value: message: Failed to retrieve shift request error: Not Found statusCode: 404 PDF Error: summary: Error downloading the PDF value: message: Error downloading the PDF error: Not Found statusCode: 404 Snapshot Error: summary: Failed to retrieve clinician profile snapshot url value: message: Failed to retrieve clinician profile snapshot url error: Not Found statusCode: 404 /api/v2/public/facilities: get: operationId: FacilitiesController_getAll summary: Get Facilities description: |Returns an array of facilities which the user has connection to.
tags: - Facilities security: - public-api: [] parameters: - name: limit required: false in: query example: 10 description: Pagination parameter, use to specify the quantity of records returned schema: minimum: 0 maximum: 50 default: 10 type: number - name: offset required: false in: query example: 10 description: Pagination parameter, use to specify the number of records to skip before starting to return results schema: minimum: 0 default: 0 type: number - name: sortDirection required: false in: query example: DESC description: Pagination parameter, use to specify the order of records by creation date, either 'asc' for ascending or 'desc' for descending schema: default: DESC enum: - ASC - DESC type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: facilityId: type: string description: Nursa id of the facility example: '124345' name: type: string description: Name of the facility example: Facility name type: type: string description: Type of the facility example: Freestanding Hospice category: type: string description: Category of the facility example: Hospice numberOfBeds: type: number description: Number of beds in the facility example: 10 maximum: 999 minimum: 0 streetAddress: type: string description: Street address of the facility example: Idaho address cityName: type: string description: Name of the city where the facility is located example: Hayden zipCode: type: string description: Zip code of the facility format: '##### | #####-####' example: '83835' stateCode: type: string description: State Abbreviation of the facility in ANSI standard example: ID county: type: string description: Name of the county where the facility is located example: Idaho County contactPhone: type: string description: Telephone number of the facility format: +1########## example: '+12345678910' billingInformation: description: Data related to the billing information allOf: - type: object properties: contactName: type: string description: Name of the contact example: John Doe contactEmail: type: string description: Email of the contact example: john.doe@email.com contactPhone: type: string description: Telephone number of the contact format: +1########## example: '+11234567890' required: - contactName - contactEmail - contactPhone title: BillingInformationResponseDto specialty: description: Data related to the facility specialty type: array items: type: object properties: title: type: string description: Title of the specialty example: Intensive Care Unit description: type: string description: Description of the Specialty example: Intensive Care Unit required: - title - description title: SpecialtyResponseDto websiteUrl: type: string example: https://example.com description: Website URL of the facility healthCareSystem: type: string description: Healthcare System of the facility required: - facilityId - name - type - category - numberOfBeds - streetAddress - cityName - zipCode - stateCode - county - contactPhone - billingInformation - specialty title: FacilityInformationV2Dto meta: type: object properties: limit: type: number description: Number of items returned offset: type: number description: Starting position sortDirection: type: object description: Sorting direction total: type: number description: Total records found required: - limit - offset - sortDirection - total title: PaginationResponseDto '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - limit must be a number conforming to the specified constraints - limit must not be less than 0 - limit must not be greater than 50 - offset must be a number conforming to the specified constraints - offset must not be less than 0 - 'sortDirection must be one of the following values: ASC, DESC' error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/facilities/connection: post: operationId: FacilitiesController_requestConnection summary: Request Facility Connection description: |This endpoint allows users to request a connection to an existing facility in our application. The user must provide the facilityId in the request body payload. Once the request is submitted, a Nursa employee will review and either accept or reject the request.
A verified facility connection is required to act on behalf of the facility, such as using endpoints to Create Shifts and Schedule Clinicians.
Users can also create a Webhook in our system to receive notifications when the facility connection request is accepted or rejected.
tags: - Facilities security: - public-api: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: facilityId: type: string description: Id of the Facility example: NUR-123456 required: - facilityId title: RequestFacilityConnectionRequestV2DTO responses: '201': description: Empty Response '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - facilityId must be a string error: Bad Request statusCode: 400 Already Exists: summary: Facility connection request already exists value: message: Facility connection request already exists error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/facilities/favoriting-clinician: post: operationId: FacilitiesController_favoritingClinician summary: Favoriting Clinicians description: |Auto scheduler will prioritize favorited clinicians.
tags: - Facilities security: - public-api: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: facilityId: type: string description: Facility ID example: P-1718096076938 clinicianId: type: string description: Clinician ID example: I7002epLHLhBCypdPCrn9XP4kTN2 isFavorited: type: boolean description: Favorite/Unfavorite a clinician example: 'true' required: - facilityId - clinicianId - isFavorited title: FavoritingClinicianRequest responses: '201': description: Empty Response '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - facilityId must be a string - clinicianId must be a string - isFavorited must be a boolean value error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 examples: Clinician Blocked: summary: Clinician is blocked value: message: Clinician is blocked error: Forbidden statusCode: 403 '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: Error description example: Not Found error: type: string description: The type of error example: Not Found statusCode: type: integer description: Status code of the error example: 404 examples: Clinician Not Found: summary: Clinician is no longer available for favoriting value: message: Clinician is no longer available for favoriting error: Not Found statusCode: 404 /api/v2/public/facilities/request: post: operationId: FacilitiesController_requestFacilityCreation summary: Request Facility Creation description: |This endpoint allows users to request a facility to be created in our application. Once the request is submitted, a Nursa employee will review and either accept or reject the request.
If the request is accepted the connection between the user and the facility will be created automatically Therefore, there is no need to Request a Facility Connection for the user who created the facility.
Users can also create a Webhook in our system to receive notifications when the facility creation request is accepted or rejected.
tags: - Facilities security: - public-api: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the facility example: Facility name type: type: string description: Type of the facility example: Long Term Care category: type: string description: Category of the facility example: Assisted Living numberOfBeds: type: integer description: Number of beds in the facility maximum: 999 minimum: 0 streetAddress: type: string description: Street address of the facility example: 7623 S SUMMIT PEAK DR cityName: type: string description: Name of the city where the facility is located example: Midvale zipCode: type: string description: Zip code of the facility format: '##### | #####-####' example: 84047-7799 stateCode: type: string description: State Abbreviation of the facility in ANSI standard example: UT county: type: string description: Name of the county where the facility is located example: Salt Lake County contactPhone: type: string description: Telephone number of the facility format: +1########## example: '+11234567890' billingInformation: type: object properties: contactName: type: string description: Name of the contact example: John Doe contactEmail: type: string description: Email of the contact example: john.doe@email.com contactPhone: type: string description: Telephone number of the contact format: +1########## example: '+11234567890' required: - contactName - contactEmail - contactPhone title: BillingInformationRequestDto specialty: type: string description: Name of the facility specialty example: Pediatric websiteUrl: type: string description: Website URL of the facility example: https://www.facility.com required: - name - type - category - numberOfBeds - streetAddress - cityName - zipCode - stateCode - county - contactPhone - billingInformation - specialty title: RequestFacilityCreationRequestDto responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: requestId: type: string description: Id of the Facility Creation Request example: ef3186f5-27cb-4d53-820f-8f567cd7e84e name: type: string description: Name of the facility example: Facility name type: type: string description: Type of the facility example: Long Term Care category: type: string description: Category of the facility example: Assisted Living numberOfBeds: type: number description: Number of beds in the facility maximum: 999 minimum: 0 streetAddress: type: string description: Street address of the facility cityName: type: string description: Name of the city where the facility is located example: 1108 Ross Clark Cir zipCode: type: string description: Zip code of the facility format: '##### | #####-####' example: '12345' stateCode: type: string description: State Abbreviation of the facility in ANSI standard example: AL county: type: string description: Name of the county where the facility is located example: Houston County contactPhone: type: string description: Telephone number of the facility format: +1########## example: '+11234567890' billingInformation: type: object properties: contactName: type: string description: Name of the contact example: John Doe contactEmail: type: string description: Email of the contact example: john.doe@email.com contactPhone: type: string description: Telephone number of the contact format: +1########## example: '+11234567890' required: - contactName - contactEmail - contactPhone title: BillingInformationRequestDto specialty: type: string description: Name of the facility specialty websiteUrl: type: string description: Website URL of the facility required: - requestId - name - type - category - numberOfBeds - streetAddress - cityName - zipCode - stateCode - county - contactPhone - billingInformation - specialty - websiteUrl title: RequestFacilityCreationResponseDto '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - name must be a string - type must be a string - category must be a string - numberOfBeds must not be greater than 999 - numberOfBeds must not be less than 0 - numberOfBeds must be an integer number - streetAddress must be a string - cityName must be a string - zipCode must be a string - stateCode must be a string - county must be a string - 'contactPhone needs to match the format: +1##########' - contactPhone must be a string - contactName must be a string - contactName should not be empty - contactEmail must be an email - contactEmail should not be empty - 'contactPhone needs to match the format: +1##########' - contactPhone must be a string - contactPhone should not be empty - specialty must be a string - websiteUrl must be a URL address error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: Error description example: Not Found error: type: string description: The type of error example: Not Found statusCode: type: integer description: Status code of the error example: 404 examples: Specialty Not Found: summary: Specialty was not found value: message: Specialty Wound Care not found error: Not Found statusCode: 404 /api/v2/public/facilities/search: get: operationId: FacilitiesController_searchFacilities summary: Search Facilities description: |Returns an array of all the facilities registered in the application. Only publicly available information about each facility will be returned through this endpoint.
You can use this endpoint to search for a specific facility to check if it already exists in the application. Instead of using the Request Facility Creation endpoint, you can use the Request Facility Connection endpoint if the facility is found.
tags: - Facilities security: - public-api: [] parameters: - name: page required: false in: query example: 1 description: Use to paginate the results schema: minimum: 1 default: 1 type: number - name: name required: false in: query description: Use to filter the search based on the facility name example: Facility Name schema: type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: facilityId: type: string description: Nursa id of the facility example: '124345' name: type: string description: Name of the facility example: Facility name streetAddress: type: string description: Street address of the facility example: Idaho address cityName: type: string description: Name of the city where the facility is located example: City name zipCode: type: string description: Zip code of the facility format: '##### | #####-####' example: '12345' stateCode: type: string description: State Abbreviation of the facility in ANSI standard example: AL imageUrl: type: string description: URL of the facility image websiteUrl: type: string description: Website URL of the facility required: - facilityId - name - streetAddress - cityName - zipCode - stateCode - imageUrl - websiteUrl title: FacilitySearchListResponseDto '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - page must not be less than 1 - page must be a number conforming to the specified constraints - name must be a string error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/facilities/specialties: get: operationId: FacilitiesController_getAllSpecialties summary: Get Specialties description: |Returns an array of specialties. A specialty title is required when using the Request Facility Creation endpoint.
tags: - Facilities security: - public-api: [] parameters: [] responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: title: type: string description: Title of the Specialty example: Oncology description: type: string description: Description of the Specialty example: Oncology travel nurses work mostly with patients who are undergoing cancer treatments or are in remission required: - title - description title: SpecialtyResponseDTO '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/facilities/{facilityId}: get: operationId: FacilitiesController_getOneById summary: Get Facility description: |Return a single facility data based on the facilityId path param, you'll only be able to fetch the facility's data if you have a Facility Connection in place.
Return data of clinicians that have completed a shift for the given Facility.
The data will be sorted based on the Shift Start Date.
tags: - Facilities security: - public-api: [] parameters: - name: facilityId required: true in: path description: Id of the facility example: NUR-12345 schema: type: string - name: limit required: false in: query example: 10 description: Pagination parameter, use to specify the quantity of records returned schema: minimum: 0 maximum: 50 default: 10 type: number - name: offset required: false in: query example: 10 description: Pagination parameter, use to specify the number of records to skip before starting to return results schema: minimum: 0 default: 0 type: number - name: sortDirection required: false in: query example: DESC description: Pagination parameter, use to specify the order of records by creation date, either 'asc' for ascending or 'desc' for descending schema: default: DESC enum: - ASC - DESC type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: clinicianId: type: string description: Id of the Clinician example: I7002epLHLhBCypdPCrn9XP4kTN2 firstName: type: string example: Mary description: First Name of the Clinician lastName: type: string example: Jane description: Last Name of the Clinician isFavorited: type: boolean example: false description: Indicates if the Clinician is favorited lastShiftDate: type: sting example: '2025-09-15T10:23:18.087Z' format: date-time description: The date of the last shift worked by the Clinician required: - clinicianId - firstName - lastName - isFavorited title: GetWorkHistoryResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - facilityId must be a string error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/licenses: get: operationId: LicensesController_getAll summary: Get Licenses description: |Returns an array of our Licenses. A licenseCode is required when using Quote Shift and Create Shifts endpoints.
tags: - Licenses security: - public-api: [] parameters: - name: facilityId required: true in: query schema: type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: licenseCode: type: string description: Code of the License example: CNA licenseName: type: string description: Name of the License example: Certified Nursing Assistant required: - licenseCode - licenseName title: GetLicenseResponseDTO '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/marketplace/shifts: get: operationId: MarketplaceController_getMarketplaceShifts summary: Get marketplace shifts description: |This endpoint returns shifts for the facilities that user is connected to.
tags: - Marketplace security: - public-api: [] parameters: - name: limit required: false in: query example: 10 description: Pagination parameter, use to specify the quantity of records returned schema: minimum: 0 maximum: 50 default: 10 type: number - name: offset required: false in: query example: 10 description: Pagination parameter, use to specify the number of records to skip before starting to return results schema: minimum: 0 default: 0 type: number - name: sortDirection required: false in: query example: DESC description: Pagination parameter, use to specify the order of records by creation date, either 'asc' for ascending or 'desc' for descending schema: default: DESC enum: - ASC - DESC type: string - name: facilityId required: false in: query description: Id of the facility example: NUR-12345 schema: type: string - name: startDateFrom required: false in: query description: When you provide date-time value, time is ignored and will take the start of the day for the given date (00:00:00). When startDateTo is provided this becomes mandatory example: '2025-09-15T10:23:17.661Z' schema: format: date-time type: string - name: startDateTo required: false in: query description: When you provide date-time value, time is ignored and will take end of the day for given date (23:59:59) example: '2025-09-15T10:23:17.661Z' schema: format: date-time type: string - name: shiftId required: false in: query description: Id of the shift example: '5552536398' schema: type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: shiftId: type: string example: '12120878' description: Id of the shift facilityId: type: string description: Id of the Facility example: NUR-0879 from: type: string description: Shift start date format: date-time example: '2025-09-15T10:23:18.085Z' to: type: string description: Shift end date format: date-time example: '2025-09-15T10:23:18.085Z' licenseType: type: string description: License Type of the shift example: RN status: type: string description: Status of the Shift example: Requested breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift autoScheduleSettings: description: If the facility supports auto-scheduling, you can provide a list of auto-scheduling options. type: array items: type: string required: - shiftId - facilityId - from - to - licenseType - status title: GetMarketplaceShiftsResponse meta: type: object properties: limit: type: number description: Number of items returned offset: type: number description: Starting position sortDirection: type: object description: Sorting direction total: type: number description: Total records found required: - limit - offset - sortDirection - total title: PaginationResponseDto '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - limit must be a number conforming to the specified constraints - limit must not be less than 0 - limit must not be greater than 50 - offset must be a number conforming to the specified constraints - offset must not be less than 0 - 'sortDirection must be one of the following values: ASC, DESC' - facilityId must be a string - startDateFrom must be a date before startDateTo - startDateFrom must be a valid ISO 8601 date string - startDateTo must be a valid ISO 8601 date string - shiftId must be a string error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/marketplace/shifts/batch: post: operationId: MarketplaceController_createShifts summary: Create shifts description: |When creating shift price quotation is based on from, to dates, and optional breakTime params.
If the facility for which you are creating the shift has the Auto Schedule feature enabled, the shifts will inherit the same Auto Schedule settings by default.
To enable only specific Auto Schedule options, use the autoScheduleSettings property in the request body to specify the desired options.
To create a shift without any Auto Schedule options, even if the facility has this feature enabled, set autoScheduleSettings to null or an empty array ([]).
Failure: The process uses transactions, so if one job fails, all changes are reverted.
License Requirement: A valid licenseType must be provided when creating a shift.
Facility Connection: If the authenticated user is not connected with the facility, the system will return a "facility not found" error. In this case, refer to the facility connection request guide. Ensure you account for this response in your implementation.
Canceling a shift affects the following shift statuses:
shift.cancelledshift.cancelled, shift.request.cancelledshift.cancelled, shift.scheduled.cancelledshift.cancelled, shift.scheduled.cancelledTo stay up to date with shift cancellations, configure the following webhooks: Webhooks API Documentation
shift.cancelledshift.request.cancelledshift.scheduled.cancelledPossible reasons:
Filled internally: The shift was filled by internal staff within the organization.Filled by other agency: The shift was filled by a clinician from another agency.Talent not needed: The shift is no longer required, possibly due to changes in demand or scheduling errors.Although a price quoting is calculated when creating shifts, we provide a price quotation without creating a shift.
This will not create a shift, but you can create one from the quote. The shift quote is calculated based on the from, to, and breakTime parameters.
Note: The quote is temporarily stored for 15 minutes. After that, it can no longer be used.
tags: - Marketplace security: - public-api: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: facilityId: type: string description: Id of the Facility example: NUR-123456 shift: type: object properties: licenseType: type: string description: License Type of the shift example: RN description: type: string description: Description of the shift, you can provide detailed information about the shift, it can include any relevant details that would help nurses understand the nature and requirements of the shift. example: Nurses are expected to assist with triage, provide patient care, and support doctors during emergencies from: type: string format: date-time description: Shift start date example: '2024-01-01T10:00:00.000Z' to: type: string description: Shift end date, must be less than 24 hours after from field format: date-time example: '2022-01-01T22:00:00.000Z' breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift autoScheduleSettings: description: If the facility supports auto-scheduling, you can provide a list of auto-scheduling options. type: array items: type: string required: - licenseType - description - from - to title: CreateShiftsRequestShiftDetails required: - facilityId - shift title: QuoteShiftV2Request responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: quoteId: type: string description: Shift QuoteId example: 100ad731-4e41-4edf-88b1-ae41ce005202 billRatePerHour: type: number description: Price per hour example: 47.5 totalAmount: type: number description: Total price example: 178.8 expiresAt: type: string format: date-time description: Quote expiration date example: '2025-09-15T10:23:17.640Z' breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift required: - quoteId - billRatePerHour - totalAmount - expiresAt title: QuoteShiftResponseDTO '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - facilityId must be a string - licenseType should not be empty - licenseType must be a string - description should not be empty - description must be a string - from must be RFC 3339 date - from must be a valid ISO 8601 date string - from should not be empty - to must be RFC 3339 date - to must be less than 24 hours after from field - to must be a valid ISO 8601 date string - to should not be empty error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/marketplace/shifts/quote/{quoteId}/shift: post: operationId: MarketplaceController_createShiftFromQuote summary: Create shift from quote description: |Based on previously created quote you can now create a shift.
If the facility for which you are creating the shift has the Auto Schedule feature enabled, the shifts will inherit the same Auto Schedule settings by default.
autoScheduleSettings property in the request body to specify the desired options.autoScheduleSettings to null or an empty array ([]).Returns all the shift reports belonging to the Shift
Users can also create a Webhook in our system to receive notifications whenever a new shift report is created.
tags: - Shift reports security: - public-api: [] parameters: - name: shiftId required: true in: path description: Nursa ShiftId example: '8222234296' schema: type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: from: type: string format: date-time description: Shift start date example: '2025-09-15T10:23:17.642Z' to: type: string format: date-time description: Shift end date example: '2025-09-15T10:23:17.642Z' cancelationReason: type: string enum: - Facility - Nurse - On Hold - Other example: Nurse description: Cancelation Reason cancelationComment: type: string enum: - No Call No Show - Excused Emergency - Refused to Work - No Longer Want to Work With This Clinician example: Excused Emergency description: Comment about the cancelation comment: type: string description: Comment of the shift example: Everything was fine :) bonus: type: number description: Bonus to be paid to Clinician example: 2.5 reportType: type: string description: Type of the report enum: - Nurse - Facility - Admin - AdminBilling example: Nurse breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift updateDate: type: string format: date-time description: The date the shift was last updated example: '2025-09-15T10:23:17.643Z' totalAmount: type: number description: Total price example: 178.8 required: - from - to - comment - bonus - reportType - updateDate - totalAmount title: GetShiftReportResponseDTO '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - shiftId must be a string error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/marketplace/shifts/reports/{shiftId}/accept: post: operationId: MarketplaceShiftReportsController_acceptShiftReport summary: Accept clinician's shift report description: |Accepts the Clinician's shift report
When a facility user accepts the clinician's shift report, they are agreeing with the information provided by the clinician. Therefore, no intervention from Nursa employees will be necessary.
You can use the Get Shift Report endpoint verify if the clinician's shift report is correctIf you believe the report contains incorrect information, you can use the Reject Shift Report endpoint to submit the correct values.
tags: - Shift reports security: - public-api: [] parameters: - name: shiftId required: true in: path description: Nursa ShiftId example: '8222234296' schema: type: string requestBody: required: true content: application/json: schema: type: object properties: comment: type: string description: A comment about the clinician example: Awesome clinician rate: type: number description: Rate the clinician from 1 to 5 example: 5 minimum: 1 maximum: 5 required: - comment - rate title: AcceptShiftReportRequest responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: from: type: string format: date-time description: Shift start date example: '2025-09-15T10:23:18.081Z' to: type: string format: date-time description: Shift end date example: '2025-09-15T10:23:18.081Z' cancelationReason: type: string enum: - Facility - Nurse - On Hold - Other example: Nurse description: Cancelation Reason cancelationComment: type: string enum: - No Call No Show - Excused Emergency - Refused to Work - No Longer Want to Work With This Clinician example: Excused Emergency description: Comment about the cancelation comment: type: string description: Comment of the shift example: Everything was fine :) bonus: type: number description: Bonus to be paid to Clinician example: 2.5 reportType: type: string description: Type of the report enum: - Nurse - Facility - Admin - AdminBilling example: Nurse breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift updateDate: type: string format: date-time description: The date the shift was last updated example: '2025-09-15T10:23:18.082Z' totalAmount: type: number description: Total price of the shift example: 178.8 reviewComment: type: number description: Comment reviewing the Clinician example: A comment rate: type: number description: Rate given to Clinician example: 5 required: - from - to - comment - bonus - reportType - updateDate - totalAmount - reviewComment - rate title: AcceptShiftReportResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - comment must be a string - rate must not be greater than 5 - rate must not be less than 1 - rate must be an integer number error: Bad Request statusCode: 400 Shift not Completed: summary: Shift is not completed value: message: Shift must be completed to submit a shift report error: Bad Request statusCode: 400 Already Submitted: summary: Shift report already submitted value: message: Facility shift report already submitted error: Bad Request statusCode: 400 Missing Clinician Report: summary: Clinician shift report was not submitted value: message: Clinician shift report was not submitted error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/marketplace/shifts/reports/{shiftId}/cancel: post: operationId: MarketplaceShiftReportsController_cancelShiftReport summary: Cancel clinician's shift report description: |Cancel the Clinician's shift report
If the clinician didn't work the shift, you can cancel it. After the cancel shift report is sent, the status of the shift will be changed to Didn't Work
Additionally, if the cancellationComment chosen was No Longer Want to Work With This Clinician, the clinician will be blocked from making future shift requests to the facility where the shift was scheduled.
Rejects the Clinician's shift report
If you believe the clinician's shift report contains incorrect information, you can reject it and submit the values you believe are correct. After your report is submitted, a Nursa employee will determine the correct information.
tags: - Shift reports security: - public-api: [] parameters: - name: shiftId required: true in: path description: Nursa ShiftId example: '8222234296' schema: type: string requestBody: required: true content: application/json: schema: type: object properties: reviewComment: type: string description: Comment regarding the individual who worked on the shift example: Exhibited exceptional professionalism and skill rate: type: number description: Rate the clinician from 1 to 5 example: 5 minimum: 1 maximum: 5 breakTime: type: string example: PT45M format: ISO 8601 duration from: type: string format: date-time to: type: string format: date-time comment: type: string description: General comment or feedback about the shift itself, including any incidents, issues, or noteworthy aspects example: The clinician went to the wrong building, that's why the start time was delayed. bonus: type: number description: monetary bonus to clinician example: 50 required: - reviewComment - rate - breakTime - from - to - comment title: RejectShiftReportRequest responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift from: type: string format: date-time description: Shift end date example: '2025-09-15T10:23:18.083Z' to: type: string format: date-time description: Shift start date example: '2025-09-15T10:23:18.083Z' comment: type: string description: Comment about how the clinician worked the shift example: All good, the clinician did a great job completed: type: boolean example: true createdAt: type: string description: Date the shift report was created format: date-time example: '2025-09-15T10:23:18.083Z' shiftId: type: string example: '12120878' description: Id of the shift reportType: type: string enum: - Nurse - Facility - Admin - AdminBilling description: Type of the report example: Facility totalAmount: type: number description: Total price example: 178.8 cancelationReason: type: string enum: - Facility - Nurse - On Hold - Other example: Nurse description: Cancelation Reason cancelationComment: type: string enum: - No Call No Show - Excused Emergency - Refused to Work - No Longer Want to Work With This Clinician example: Excused Emergency description: Comment about the cancelation required: - from - to - comment - completed - createdAt - shiftId - reportType - totalAmount title: RejectShiftReportResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - reviewComment must be a string - rate must not be greater than 5 - rate must not be less than 1 - rate must be an integer number - breakTime must be a valid ISO 8601 duration (e.g., PT45M) - from must be RFC 3339 date - from must be a date before to - from must be a valid ISO 8601 date string - to must be RFC 3339 date - to must be less than 24 hours after from field - to must be a valid ISO 8601 date string - comment must be a string - bonus must not be less than 0 - bonus must be a number conforming to the specified constraints error: Bad Request statusCode: 400 Shift not Completed: summary: Shift is not completed value: message: Shift must be completed to submit a shift report error: Bad Request statusCode: 400 Already Submitted: summary: Shift report already submitted value: message: Facility shift report already submitted error: Bad Request statusCode: 400 Missing Clinician Report: summary: Clinician shift report was not submitted value: message: Clinician shift report was not submitted error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/marketplace/shifts/{shiftId}: patch: operationId: MarketplaceController_patchShift summary: Update shift description: |You can update description and bonus, bonus will change the shift quote.
Returns an array of shifts with the Scheduled status from facilities the user is connected to.
tags: - Scheduled shifts security: - public-api: [] parameters: - name: limit required: false in: query example: 10 description: Pagination parameter, use to specify the quantity of records returned schema: minimum: 0 maximum: 50 default: 10 type: number - name: offset required: false in: query example: 10 description: Pagination parameter, use to specify the number of records to skip before starting to return results schema: minimum: 0 default: 0 type: number - name: sortDirection required: false in: query example: DESC description: Pagination parameter, use to specify the order of records by creation date, either 'asc' for ascending or 'desc' for descending schema: default: DESC enum: - ASC - DESC type: string - name: startDate required: false in: query description: When you provide date-time value, time is ignored and will take the start of the day for the given date (00:00:00) example: '2025-09-15T10:23:17.642Z' schema: format: date-time type: string - name: licenseType required: false in: query description: License Type of the shift example: RN schema: type: string - name: facilityId required: true in: query description: Id of the facility example: NUR-1660331570 schema: type: string - name: shiftId required: false in: query description: Id of the shift example: '5552536398' schema: type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: facilityId: type: string description: Id of the Facility example: NUR-123456 shiftId: type: string description: Id of the shift example: '1100482364' from: type: string format: date-time description: Shift start date example: '2024-09-13T00:00:00.000Z' to: type: string format: date-time description: Shift end date example: '2024-09-14T00:00:00.000Z' licenseType: type: string description: License Type of the shift example: RN clinician: type: object properties: id: type: string description: Id of the clinician example: I7002epLHLhBCypdPCrn9XP4kTN2 firstName: type: string description: First name of the clinician example: Jane lastName: type: string description: Last name of the clinician example: Doe contactEmail: type: string description: Email of the clinician example: jane@doe.com contactPhone: type: string description: Contact Phone of the clinician format: +1########## example: '+12345678910' required: - id - firstName - lastName - contactEmail - contactPhone title: ScheduleShiftClinicianResponseDto breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift required: - facilityId - shiftId - from - to - licenseType - clinician title: ScheduledShiftResponse meta: type: object properties: limit: type: number description: Number of items returned offset: type: number description: Starting position sortDirection: type: object description: Sorting direction total: type: number description: Total records found required: - limit - offset - sortDirection - total title: PaginationResponseDto '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - limit must be a number conforming to the specified constraints - limit must not be less than 0 - limit must not be greater than 50 - offset must be a number conforming to the specified constraints - offset must not be less than 0 - 'sortDirection must be one of the following values: ASC, DESC' - startDate must be a valid ISO 8601 date string - facilityId must be a string - shiftId must be a string error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 post: operationId: ScheduleShiftsController_scheduleShift summary: Schedule clinician to a shift description: |Schedule a clinician to a shift.
After a shift is created, and a clinician requests it, you can use the Get requested shifts endpoint to check the clinicians who requested to work the shift. Additionally, you can Download the Clinician Profile to help you choose which clinician best fits the shift.
Users can also create a Webhook in our system to receive notifications when the a clinician requests to work a shift.
tags: - Scheduled shifts security: - public-api: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: shiftId: type: string description: Id of the shift example: '5552536398' clinicianId: type: string description: Id of the clinician example: WK85QZny89Wj9cabYQw6FHcd2Be5 required: - shiftId - clinicianId title: ScheduleShiftV2Request responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: facilityId: type: string description: Id of the Facility example: NUR-123456 shiftId: type: string description: Id of the shift example: '4765568640' from: format: date-time type: string description: Shift start date example: '2024-09-13T00:00:00.000Z' to: format: date-time type: string description: Shift end date example: '2024-09-14T00:00:00.000Z' licenseType: type: string description: License Type of the shift example: RN clinician: type: object properties: id: type: string description: Id of the clinician example: I7002epLHLhBCypdPCrn9XP4kTN2 firstName: type: string description: First name of the clinician example: Jane lastName: type: string description: Last name of the clinician example: Doe contactEmail: type: string description: Email of the clinician example: jane@doe.com contactPhone: type: string description: Contact Phone of the clinician format: +1########## example: '+12345678910' required: - id - firstName - lastName - contactEmail - contactPhone title: ScheduleShiftClinicianResponseDto scheduledBy: type: string example: gsFu59GrbAhFmUB0QyYf1Ubg0Q5E description: Id of the user that scheduled the shift breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift required: - facilityId - shiftId - from - to - licenseType - clinician title: ScheduledShiftV2Response '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - shiftId must be a string - clinicianId must be a string error: Bad Request statusCode: 400 Clinician is no longer available to be scheduled to this shift.: summary: Clinician is no longer available to be scheduled to this shift. value: message: Clinician is no longer available to be scheduled to this shift. error: Bad Request statusCode: 400 Clinician is no longer available to be scheduled to this shift due to overlapping shifts.: summary: Clinician is no longer available to be scheduled to this shift due to overlapping shifts. value: message: Clinician is no longer available to be scheduled to this shift due to overlapping shifts. error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: Error description example: Not Found error: type: string description: The type of error example: Not Found statusCode: type: integer description: Status code of the error example: 404 examples: Clinician Not available: summary: Clinician is no longer available value: message: Clinician is no longer available error: Not Found statusCode: 404 Shift Not Found: summary: Shift not found value: message: Shift not found error: Not Found statusCode: 404 Request Not Found: summary: Shift request not found value: message: Shift request not found error: Not Found statusCode: 404 Clinician Not Found: summary: Clinician not found value: message: Clinician not found error: Not Found statusCode: 404 /api/v2/public/scheduled-shifts/remove-clinician: post: operationId: ScheduleShiftsController_removeScheduledClinician summary: Remove scheduled clinician from shift description: |This operation removes a scheduled clinician from a shift under specific conditions and notifies relevant parties accordingly.
Remove hire refused to work:
Returns requested shift with clinician's details and a link to download clinician profile that is generated when the shift was requested. This ensures the clinician information is up to date.
Users can also create a Webhook in our system to receive notifications when a clinician requests to work a shift.
tags: - Shift requests security: - public-api: [] parameters: - name: limit required: false in: query example: 10 description: Pagination parameter, use to specify the quantity of records returned schema: minimum: 0 maximum: 50 default: 10 type: number - name: offset required: false in: query example: 10 description: Pagination parameter, use to specify the number of records to skip before starting to return results schema: minimum: 0 default: 0 type: number - name: sortDirection required: false in: query example: DESC description: Pagination parameter, use to specify the order of records by creation date, either 'asc' for ascending or 'desc' for descending schema: default: DESC enum: - ASC - DESC type: string - name: startDate required: false in: query description: When you provide date-time value, time is ignored and will take the start of the day for the given date (00:00:00) example: '2025-09-15T10:23:17.626Z' schema: format: date-time type: string - name: licenseType required: false in: query description: License Type of the shift example: RN schema: type: string - name: facilityId required: true in: query description: Id of the facility example: NUR-1660331570 schema: type: string - name: shiftId required: false in: query description: Id of the shift example: '5552536398' schema: type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: shiftId: type: string description: Id of the shift example: '8222234296' licenseType: type: string description: License Type of the shift example: RN facilityId: type: string description: Id of the facility example: NUR-123456 from: type: string format: date-time description: Shift start date example: '2025-09-15T10:23:18.084Z' to: type: string format: date-time description: Shift end date example: '2025-09-15T10:23:18.084Z' clinicians: type: array items: type: object properties: id: type: string description: Id of the clinician example: I7002epLHLhBCypdPCrn9XP4kTN2 firstName: type: string description: First name of the clinician example: Jane lastName: type: string description: Last name of the clinician example: Doe url: type: string description: URL to download clinician profile example: /api/v2/public/downloads/clinician/I7002epLHLhBCypdPCrn9XP4kTN2/shift/8222234296 contactEmail: type: string description: Email of the clinician example: jane@doe.com contactPhone: type: string description: Contact Phone of the clinician format: +1########## example: '+12345678910' required: - id - firstName - lastName - url - contactEmail - contactPhone title: ClinicianDetails breakTime: type: string example: PT45M format: ISO 8601 duration description: Break Time for the shift required: - shiftId - licenseType - facilityId - from - to - clinicians title: RequestedShiftsResponse meta: type: object properties: limit: type: number description: Number of items returned offset: type: number description: Starting position sortDirection: type: object description: Sorting direction total: type: number description: Total records found required: - limit - offset - sortDirection - total title: PaginationResponseDto '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - limit must be a number conforming to the specified constraints - limit must not be less than 0 - limit must not be greater than 50 - offset must be a number conforming to the specified constraints - offset must not be less than 0 - 'sortDirection must be one of the following values: ASC, DESC' - startDate must be a valid ISO 8601 date string - facilityId must be a string - shiftId must be a string error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/shift-requests/reject: post: operationId: ShiftRequestsController_rejectShiftRequest summary: Reject clinicians shift request description: |This operation rejects a clinician's request to take a shift.
Shift request can't be rejected because shift is not in Requested status.This endpoint allows you to search for all shifts, including those that are not actively listed in the Nursa Marketplace.
Unlike the Get Marketplace Shifts endpoint, which only returns shifts with the statuses Open, Viewed, Requested, or Scheduled, this endpoint retrieves shifts regardless of their status.
You can use the following query parameters to filter the response:
| Parameter | Type | Description |
|---|---|---|
startDate |
ISO 8601 Date | Filters shifts with a start date between startDate and endDate. |
endDate |
ISO 8601 Date | Filters shifts with a start date between startDate and endDate. |
licenseTypes |
Array of strings | Filters shifts by license types. Example: ["RN", "CNA"] |
facilityIds |
Array of strings | Filters shifts by facility IDs. Example: ["P-12345", "P-67890"] |
statuses |
Array of strings | Filters shifts by status. Example: ["Open", "UnfulfilledRequested"] |
shiftIds |
Array of strings | Filters shifts by shift IDs. Example: ["4765568640", "5552536398"] |
shiftIds, orstartDate and endDate.Retrieves a list of all existing webhooks.
tags: - Facilities webhooks security: - public-api: [] parameters: [] responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: id: type: string description: If of the Webhook example: ad2ce8f4-06d0-4d1a-9ef2-c156dfa17fba url: type: string description: Url of the Webhook example: https://exemple.com/webhook events: type: array description: List of events that this webhook will listen to example: - shift.report.created - shift.request.created items: type: string enum: - shift.request.created - shift.request.cancelled - shift.report.created - shift.scheduled.cancelled - shift.scheduled - shift.created - shift.report.accepted-automatically - shift.report.accepted - shift.report.rejected - shift.cancelled - all clientId: type: string facilities: description: List of facilities ids that this webhook belongs to example: - P-123456 - P-123457 type: array items: type: string secrets: description: List of webhook secrets example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - id - url - events - clientId - facilities - secrets title: CreateWebhookResponse '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 post: operationId: FacilitiesWebhooksController_createOne summary: Create Webhook for Facilities description: |We strongly recommend you set up webhooks for better and easier integration.
Creates a new webhook. Use this endpoint to register a new webhook by specifying the URL and the events you want to subscribe to.
tags: - Facilities webhooks security: - public-api: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: url: type: string description: The URL that will be called when an event is triggered. example: https://exemple.com/webhook events: type: array description: The events that this webhook will listen to. example: - all items: type: string enum: - shift.request.created - shift.request.cancelled - shift.report.created - shift.scheduled.cancelled - shift.scheduled - shift.created - shift.report.accepted-automatically - shift.report.accepted - shift.report.rejected - shift.cancelled - all facilities: description: The IDs of the facilities that will receive events from this webhook. If no value is provided it will auto detect facilities that user has access example: - P-123456 - P-123457 type: array items: type: string secrets: description: "\n The secrets that will be used to verify the authenticity of the webhook.\n If\ \ no value is provided it will auto generate a secret.\n Secrets are used to sign and validate the\ \ payload of the webhook.\n It will accept 2 secrets to allow a rotation strategy without service\ \ downtime.\n " example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - url - events - facilities - secrets title: CreateWebhookRequest responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: id: type: string description: If of the Webhook example: ad2ce8f4-06d0-4d1a-9ef2-c156dfa17fba url: type: string description: Url of the Webhook example: https://exemple.com/webhook events: type: array description: List of events that this webhook will listen to example: - shift.report.created - shift.request.created items: type: string enum: - shift.request.created - shift.request.cancelled - shift.report.created - shift.scheduled.cancelled - shift.scheduled - shift.created - shift.report.accepted-automatically - shift.report.accepted - shift.report.rejected - shift.cancelled - all clientId: type: string facilities: description: List of facilities ids that this webhook belongs to example: - P-123456 - P-123457 type: array items: type: string secrets: description: List of webhook secrets example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - id - url - events - clientId - facilities - secrets title: CreateWebhookResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - should be a secure URL with HTTPS - url must be a string - events must contain at least 1 elements - events must be an array - 'each value in events must be one of the following values: shift.request.created, shift.request.cancelled, shift.report.created, shift.scheduled.cancelled, shift.scheduled, shift.created, shift.report.accepted-automatically, shift.report.accepted, shift.report.rejected, shift.cancelled, all' - each value in facilities must be a string - secrets must contain no more than 2 elements - secrets must be an array error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/webhooks/facility/{webhookId}: patch: operationId: FacilitiesWebhooksController_updateOne summary: Update Webhook description: |Updates an existing webhook. This endpoint allows you to modify the URL, events, or other settings of an already registered webhook.
tags: - Facilities webhooks security: - public-api: [] parameters: - name: webhookId required: true in: path description: Webhook id example: c8c7913d-3e1f-4e4c-a646-81282ecba2b8 schema: type: string requestBody: required: true content: application/json: schema: type: object properties: url: type: string description: The URL that will be called when an event is triggered. example: https://example.com/webhook events: type: array description: The events that this webhook will listen to. example: - all items: type: string enum: - shift.request.created - shift.request.cancelled - shift.report.created - shift.scheduled.cancelled - shift.scheduled - shift.created - shift.report.accepted-automatically - shift.report.accepted - shift.report.rejected - shift.cancelled - all facilities: description: The IDs of the facilities that will receive events from this webhook. If no value is provided it will auto detect facilities that user has access example: - P-123456 - P-123457 type: array items: type: string secrets: description: "\n The secrets that will be used to verify the authenticity of the webhook.\n If\ \ no value is provided it will auto generate a secret.\n Secrets are used to sign and validate the\ \ payload of the webhook.\n It will accept 2 secrets to allow a rotation strategy without service\ \ downtime.\n " example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string title: UpdateWebhookRequest responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: id: type: string description: If of the Webhook example: ad2ce8f4-06d0-4d1a-9ef2-c156dfa17fba url: type: string description: Url of the Webhook example: https://exemple.com/webhook events: type: array description: List of events that this webhook will listen to example: - shift.report.created - shift.request.created items: type: string enum: - shift.request.created - shift.request.cancelled - shift.report.created - shift.scheduled.cancelled - shift.scheduled - shift.created - shift.report.accepted-automatically - shift.report.accepted - shift.report.rejected - shift.cancelled - all clientId: type: string facilities: description: List of facilities ids that this webhook belongs to example: - P-123456 - P-123457 type: array items: type: string secrets: description: List of webhook secrets example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - id - url - events - clientId - facilities - secrets title: CreateWebhookResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - should be a secure URL with HTTPS - url must be a string - events must contain at least 1 elements - events must be an array - 'each value in events must be one of the following values: shift.request.created, shift.request.cancelled, shift.report.created, shift.scheduled.cancelled, shift.scheduled, shift.created, shift.report.accepted-automatically, shift.report.accepted, shift.report.rejected, shift.cancelled, all' - each value in facilities must be a string - secrets must contain no more than 2 elements - secrets must be an array error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: Error description example: Not Found error: type: string description: The type of error example: Not Found statusCode: type: integer description: Status code of the error example: 404 examples: Not Found: summary: Webhook was not found value: message: Webhook not found error: Not Found statusCode: 404 delete: operationId: FacilitiesWebhooksController_deleteOne summary: Delete Webhook description: |Deletes a webhook. Use this endpoint to remove a webhook that is no longer needed.
tags: - Facilities webhooks security: - public-api: [] parameters: - name: webhookId required: true in: path description: Webhook id example: c8c7913d-3e1f-4e4c-a646-81282ecba2b8 schema: type: string responses: '201': description: Empty Response '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/webhooks/logs: get: operationId: WebhookLogsController_searchLogs summary: Search webhook notification logs description: |Webhook logs are stored for 14 days and are used for debugging purposes.
Searching webhook logs can help you troubleshoot issues by providing detailed information about the webhook events and their payloads. This can be crucial for diagnosing problems, verifying event delivery, and ensuring your integration is functioning correctly.
tags: - Webhook logs security: - public-api: [] parameters: - name: facilitiesIds required: false in: query description: The facilities IDs to filter the logs. schema: type: array items: type: string - name: eventType required: false in: query description: The event type to filter the logs. schema: enum: - shift.request.created - shift.request.cancelled - shift.report.created - shift.scheduled.cancelled - shift.scheduled - shift.created - shift.report.accepted-automatically - shift.report.accepted - shift.report.rejected - shift.cancelled - all type: string - name: startDate required: false in: query description: Filters logs that happened after this date example: '2022-10-10T10:00:00.000Z' schema: format: date-time type: string - name: endDate required: false in: query description: Filters logs that happened before this date example: '2022-10-11T10:00:00.000Z' schema: format: date-time type: string - name: limit required: false in: query example: 10 description: Pagination parameter, use to specify the quantity of records returned schema: minimum: 0 maximum: 100 default: 10 type: number - name: offset required: false in: query example: 10 description: Pagination parameter, use to specify the number of records to skip before starting to return results schema: minimum: 0 default: 0 type: number - name: sortDirection required: false in: query example: DESC description: Pagination parameter, use to specify the order of records by creation date, either 'asc' for ascending or 'desc' for descending schema: default: DESC enum: - ASC - DESC type: string responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: id: type: string description: The webhook log ID. example: 4621c22c-6442-4aac-81bc-a479d9858df8 facilityId: type: string description: Id of the Facility example: f2bb1e8a-92c6-47ba-94f4-c82cad0ff081 eventType: type: string description: The event type. enum: - shift.request.created - shift.request.cancelled - shift.report.created - shift.scheduled.cancelled - shift.scheduled - shift.created - shift.report.accepted-automatically - shift.report.accepted - shift.report.rejected - shift.cancelled - all example: shift.cancelled requestPayload: type: object description: The request payload. example: data: facilityId: 6ffcb3a8-cae3-459c-89c8-187d984dcb09 eventType: shift.scheduled responseStatus: type: number description: The received response status code when the event was sent. example: 201 responseBody: type: string description: The received response body when the event was sent. example: '{"statusCode":201}' url: type: string description: The url used to dispatch the webhook. example: https://example.com/webhook retries: description: The retries that were made to resend the webhook allOf: - type: object properties: id: type: string description: The webhook log ID. example: 4621c22c-6442-4aac-81bc-a479d9858df8 facilityId: type: string description: Id of the Facility example: f2bb1e8a-92c6-47ba-94f4-c82cad0ff081 eventType: type: string description: The event type. enum: - shift.request.created - shift.request.cancelled - shift.report.created - shift.scheduled.cancelled - shift.scheduled - shift.created - shift.report.accepted-automatically - shift.report.accepted - shift.report.rejected - shift.cancelled - all example: shift.cancelled requestPayload: type: object description: The request payload. example: data: facilityId: 6ffcb3a8-cae3-459c-89c8-187d984dcb09 eventType: shift.scheduled responseStatus: type: number description: The received response status code when the event was sent. example: 201 responseBody: type: string description: The received response body when the event was sent. example: '{"statusCode":201}' url: type: string description: The url used to dispatch the webhook. example: https://example.com/webhook retryAttempt: type: number description: The number indicating the attempt to resend the webhook required: - id - facilityId - eventType - requestPayload - responseStatus - responseBody - url - retryAttempt title: WebhookLogRetryResponse status: type: string description: The status of the webhook, if at least a single retry succeeds the status will be success. enum: - success - failure example: success required: - id - facilityId - eventType - requestPayload - responseStatus - responseBody - url - retries - status title: WebhookLogsResponseDto '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - facilitiesIds must be an array - 'eventType must be one of the following values: shift.request.created, shift.request.cancelled, shift.report.created, shift.scheduled.cancelled, shift.scheduled, shift.created, shift.report.accepted-automatically, shift.report.accepted, shift.report.rejected, shift.cancelled, all' - startDate must be RFC 3339 date - startDate must be a date before endDate - startDate must be a valid ISO 8601 date string - endDate must be RFC 3339 date - endDate must be a valid ISO 8601 date string - limit must not be less than 0 - limit must not be greater than 100 - limit must be a number conforming to the specified constraints - offset must be a number conforming to the specified constraints - offset must not be less than 0 - 'sortDirection must be one of the following values: ASC, DESC' error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/webhooks/user: get: operationId: UserWebhooksController_getAllUserWebhooks summary: Get all User Webhooks description: |Retrieves a list of all existing user webhooks.
tags: - User webhooks security: - public-api: [] parameters: [] responses: '201': description: '' content: application/json: schema: type: object properties: data: type: array items: type: object properties: id: type: string description: If of the Webhook example: d148420d-29af-4a30-8f84-b6dcef1ba886 url: type: string description: Url of the Webhook example: https://exemple.com/webhook events: type: array description: List of events that this webhook will listen to example: - facility.creation.accepted - facility.user-connection.accepted items: type: string enum: - all - facility.user-connection.accepted - facility.user-connection.rejected - facility.creation.accepted - facility.creation.rejected clientId: type: string secrets: description: List of webhook secrets example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - id - url - events - clientId - secrets title: CreateUserWebhookResponse '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 post: operationId: UserWebhooksController_createOneUserWebhook summary: Create User Webhook description: |We strongly recommend you set up webhooks for better and easier integration.
Creates a new User webhook. Use this endpoint to register a new webhook by specifying the URL and the events you want to subscribe to.
With User Webhook you'll ne notified whenever a facility creation or connection request is either accepted or rejected.
tags: - User webhooks security: - public-api: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: url: type: string description: The URL that will be called when an event is triggered. example: https://exemple.com/webhook events: type: array description: The events that this webhook will listen to. example: - all items: type: string enum: - all - facility.user-connection.accepted - facility.user-connection.rejected - facility.creation.accepted - facility.creation.rejected secrets: description: "\n The secrets that will be used to verify the authenticity of the webhook.\n If\ \ no value is provided it will auto generate a secret.\n Secrets are used to sign and validate the\ \ payload of the webhook.\n It will accept 2 secrets to allow a rotation strategy without service\ \ downtime.\n " example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - url - events - secrets title: CreateUserWebhookRequest responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: id: type: string description: If of the Webhook example: d148420d-29af-4a30-8f84-b6dcef1ba886 url: type: string description: Url of the Webhook example: https://exemple.com/webhook events: type: array description: List of events that this webhook will listen to example: - facility.creation.accepted - facility.user-connection.accepted items: type: string enum: - all - facility.user-connection.accepted - facility.user-connection.rejected - facility.creation.accepted - facility.creation.rejected clientId: type: string secrets: description: List of webhook secrets example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - id - url - events - clientId - secrets title: CreateUserWebhookResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - should be a secure URL with HTTPS - url must be a string - events must contain at least 1 elements - events must be an array - 'each value in events must be one of the following values: all, facility.user-connection.accepted, facility.user-connection.rejected, facility.creation.accepted, facility.creation.rejected' - secrets must contain no more than 2 elements - secrets must be an array error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/public/webhooks/user/{webhookId}: patch: operationId: UserWebhooksController_updateOneUserWebhook summary: Update User Webhook description: |Updates an existing user webhook. This endpoint allows you to modify the URL, events, or other settings of an already registered user webhook.
tags: - User webhooks security: - public-api: [] parameters: - name: webhookId required: true in: path description: Webhook id example: c8c7913d-3e1f-4e4c-a646-81282ecba2b8 schema: type: string requestBody: required: true content: application/json: schema: type: object properties: url: type: string description: The URL that will be called when an event is triggered. example: https://example.com/webhook events: type: array description: The events that this webhook will listen to. example: - all items: type: string enum: - all - facility.user-connection.accepted - facility.user-connection.rejected - facility.creation.accepted - facility.creation.rejected secrets: description: "\n The secrets that will be used to verify the authenticity of the webhook.\n If\ \ no value is provided it will auto generate a secret.\n Secrets are used to sign and validate the\ \ payload of the webhook.\n It will accept 2 secrets to allow a rotation strategy without service\ \ downtime.\n " example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - events title: UpdateUserWebhookRequest responses: '201': description: '' content: application/json: schema: type: object properties: data: type: object properties: id: type: string description: If of the Webhook example: d148420d-29af-4a30-8f84-b6dcef1ba886 url: type: string description: Url of the Webhook example: https://exemple.com/webhook events: type: array description: List of events that this webhook will listen to example: - facility.creation.accepted - facility.user-connection.accepted items: type: string enum: - all - facility.user-connection.accepted - facility.user-connection.rejected - facility.creation.accepted - facility.creation.rejected clientId: type: string secrets: description: List of webhook secrets example: - sDV1aKqitCLClI12m7UPFbAAvZfZquJw - mryefgHPBVHJwux0o3BYW7hPM0BZlcCa type: array items: type: string required: - id - url - events - clientId - secrets title: CreateUserWebhookResponse '400': description: Bad request content: application/json: schema: type: object properties: message: type: array description: Error description items: type: string example: Property must be a string error: type: string description: The type of error example: Bad Request statusCode: type: integer description: Status code of the error example: 400 examples: Request Validation: summary: Request Validation Error value: message: - should be a secure URL with HTTPS - url must be a string - events must contain at least 1 elements - events must be an array - 'each value in events must be one of the following values: all, facility.user-connection.accepted, facility.user-connection.rejected, facility.creation.accepted, facility.creation.rejected' - secrets must contain no more than 2 elements - secrets must be an array error: Bad Request statusCode: 400 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: Error description example: Not Found error: type: string description: The type of error example: Not Found statusCode: type: integer description: Status code of the error example: 404 examples: Not Found: summary: Webhook was not found value: message: Webhook not found error: Not Found statusCode: 404 delete: operationId: UserWebhooksController_deleteOneUserWebhook summary: Delete User Webhook description: |Deletes a user webhook. Use this endpoint to remove a user webhook that is no longer needed.
tags: - User webhooks security: - public-api: [] parameters: - name: webhookId required: true in: path description: Webhook id example: c8c7913d-3e1f-4e4c-a646-81282ecba2b8 schema: type: string responses: '201': description: Empty Response '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: Unauthorized description: Error description statusCode: type: integer description: Status code of the error example: 401 '403': description: Forbidden content: application/json: schema: type: object properties: message: type: string description: Error description example: Forbidden Resource error: type: string description: The type of error example: Forbidden statusCode: type: integer description: Status code of the error example: 403 /api/v2/support/facilities/user/associate: put: operationId: SupportFacilitiesController_associateUsersToFacility summary: Support Facilities Controller associate Users To Facility description: SupportFacilitiesController_associateUsersToFacility parameters: [] requestBody: required: true content: application/json: schema: type: object properties: {} title: SupportAssociateUsersToFacilityRequest responses: '200': description: '' components: securitySchemes: public-api: type: http scheme: bearer bearerFormat: JWT description: Please, fill this with your authorization token security: - public-api: []