openapi: 3.2.0 info: description: '# Overview ### Introduction Use the Sense API to synchronize your ATS data into the Sense Platform.' title: Sense Client Contact API version: '' servers: - url: https://partner-api.us-stage.sensehq.co security: - sense_bearer_auth: [] tags: - description: A contact person at a Company. name: Client Contact paths: /client-contacts: post: description: Batch upsert ClientContact entities. operationId: post_client-contacts requestBody: content: application/json: schema: items: $ref: '#/components/schemas/ClientContact' maxItems: 500 minItems: 1 type: array responses: '201': content: application/json: schema: $ref: '#/components/schemas/201_response_schema' description: Request accepted for async processing. '400': content: application/json: schema: $ref: '#/components/schemas/400_response_schema' description: Invalid request. Message will indicate which field failed validation. '413': content: application/json: schema: $ref: '#/components/schemas/400_response_schema' description: Payload too large summary: Upsert ClientContact tags: - Client Contact /client-contacts/{id}: get: description: Fetch details of a single ClientContact entity by its unique ID. operationId: get_client-contacts parameters: - description: The unique ID of the ClientContact whose details need to be retrieved. in: path name: id required: true schema: type: integer responses: '200': content: application/json: schema: $ref: '#/components/schemas/200_response_schema' description: Successful response containing ClientContact details. '400': content: application/json: schema: $ref: '#/components/schemas/200_response_schema' description: Invalid request. Message will indicate which field failed validation. '404': content: application/json: schema: $ref: '#/components/schemas/200_response_schema' description: ClientContact not found. summary: Retrieve ClientContact details tags: - Client Contact patch: description: Update single ClientContact entity. operationId: patch_client-contacts parameters: - description: The unique id of the ClientContactwhose details need to be updated. in: path name: id required: true schema: type: integer requestBody: content: application/json: schema: $ref: '#/components/schemas/ClientContact' type: object responses: '201': content: application/json: schema: $ref: '#/components/schemas/201_response_schema' description: Request accepted for async processing. '400': content: application/json: schema: $ref: '#/components/schemas/400_response_schema' description: Invalid request. Message will indicate which field failed validation. '413': content: application/json: schema: $ref: '#/components/schemas/400_response_schema' description: Payload too large summary: Update ClientContact tags: - Client Contact /client-contacts/possible-values/{fieldName}: get: description: Fetch the list of possible values configured for a field on the ClientContact entity. These values define dropdown options used in various Sense workflows. operationId: get_client-contacts_possible_values parameters: - description: The field name for which possible values should be retrieved. in: path name: fieldName required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PossibleValuesGetResponse' description: Successful response containing possible values. '400': content: application/json: schema: $ref: '#/components/schemas/400_response_schema' description: Invalid request. summary: Get possible values for a ClientContact field tags: - Client Contact put: description: A self-serve endpoint to synchronize dropdown options with your ATS configuration, ensuring data integrity during field writebacks. operationId: put_client-contacts_possible_values parameters: - description: The field name whose possible values should be updated. in: path name: fieldName required: true schema: type: string requestBody: content: application/json: example: - label: Hourly value: hourly - label: Daily value: daily schema: items: properties: label: type: string value: oneOf: - type: string - type: number - type: boolean required: - label - value type: object type: array required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PossibleValuesPutResponse' description: Updated possible values returned in the response. '400': content: application/json: schema: $ref: '#/components/schemas/400_response_schema' description: Invalid request payload. summary: Update possible values for a ClientContact field tags: - Client Contact components: schemas: PossibleValuesPutResponse: properties: data: properties: field_name: type: string object_name: type: string possibleValues: items: properties: label: type: string value: oneOf: - type: string - type: number - type: boolean required: - label - value type: object type: array updated: type: boolean type: object resource_id: type: string type: object 400_response_schema: properties: errors: items: properties: entity_id: description: entity id which has validation errors if available type: - string - 'null' message: description: description of validation error type: - string - 'null' path: description: path to the entity which has validation errors items: type: string type: - array - 'null' type: - array - 'null' warnings: items: properties: entity_id: description: entity id which has validation warnings if available type: - string - 'null' message: description: description of validation warning type: - string - 'null' path: description: path to the entity which has validation warnings items: type: string type: - array - 'null' type: - array - 'null' ClientContact: properties: active: type: - boolean - 'null' address1: type: - string - 'null' address2: type: - string - 'null' city: type: - string - 'null' company_id: type: - string - 'null' country: type: - string - 'null' custom_array1: items: type: string type: - array - 'null' custom_array2: items: type: string type: - array - 'null' custom_array3: items: type: string type: - array - 'null' custom_array4: items: type: string type: - array - 'null' custom_array5: items: type: string type: - array - 'null' custom_date1: format: date type: - string - 'null' custom_date10: format: date type: - string - 'null' custom_date11: format: date type: - string - 'null' custom_date12: format: date type: - string - 'null' custom_date13: format: date type: - string - 'null' custom_date14: format: date type: - string - 'null' custom_date15: format: date type: - string - 'null' custom_date16: format: date type: - string - 'null' custom_date17: format: date type: - string - 'null' custom_date18: format: date type: - string - 'null' custom_date19: format: date type: - string - 'null' custom_date2: format: date type: - string - 'null' custom_date20: format: date type: - string - 'null' custom_date21: format: date type: - string - 'null' custom_date22: format: date type: - string - 'null' custom_date23: format: date type: - string - 'null' custom_date24: format: date type: - string - 'null' custom_date25: format: date type: - string - 'null' custom_date26: format: date type: - string - 'null' custom_date27: format: date type: - string - 'null' custom_date28: format: date type: - string - 'null' custom_date29: format: date type: - string - 'null' custom_date3: format: date type: - string - 'null' custom_date30: format: date type: - string - 'null' custom_date31: format: date type: - string - 'null' custom_date32: format: date type: - string - 'null' custom_date33: format: date type: - string - 'null' custom_date34: format: date type: - string - 'null' custom_date35: format: date type: - string - 'null' custom_date36: format: date type: - string - 'null' custom_date37: format: date type: - string - 'null' custom_date38: format: date type: - string - 'null' custom_date39: format: date type: - string - 'null' custom_date4: format: date type: - string - 'null' custom_date40: format: date type: - string - 'null' custom_date41: format: date type: - string - 'null' custom_date42: format: date type: - string - 'null' custom_date43: format: date type: - string - 'null' custom_date44: format: date type: - string - 'null' custom_date45: format: date type: - string - 'null' custom_date46: format: date type: - string - 'null' custom_date47: format: date type: - string - 'null' custom_date48: format: date type: - string - 'null' custom_date49: format: date type: - string - 'null' custom_date5: format: date type: - string - 'null' custom_date50: format: date type: - string - 'null' custom_date6: format: date type: - string - 'null' custom_date7: format: date type: - string - 'null' custom_date8: format: date type: - string - 'null' custom_date9: format: date type: - string - 'null' custom_datetime1: format: date-time type: - string - 'null' custom_datetime2: format: date-time type: - string - 'null' custom_datetime3: format: date-time type: - string - 'null' custom_datetime4: format: date-time type: - string - 'null' custom_datetime5: format: date-time type: - string - 'null' custom_datetime6: format: date-time type: - string - 'null' custom_float1: type: - number - 'null' custom_float2: type: - number - 'null' custom_float3: type: - number - 'null' custom_float4: type: - number - 'null' custom_float5: type: - number - 'null' custom_float6: type: - number - 'null' custom_integer1: type: - integer - 'null' custom_integer2: type: - integer - 'null' custom_integer3: type: - integer - 'null' custom_integer4: type: - integer - 'null' custom_integer5: type: - integer - 'null' custom_integer6: type: - integer - 'null' custom_text1: type: - string - 'null' custom_text10: type: - string - 'null' custom_text11: type: - string - 'null' custom_text12: type: - string - 'null' custom_text13: type: - string - 'null' custom_text14: type: - string - 'null' custom_text15: type: - string - 'null' custom_text16: type: - string - 'null' custom_text17: type: - string - 'null' custom_text18: type: - string - 'null' custom_text19: type: - string - 'null' custom_text2: type: - string - 'null' custom_text20: type: - string - 'null' custom_text21: type: - string - 'null' custom_text22: type: - string - 'null' custom_text23: type: - string - 'null' custom_text24: type: - string - 'null' custom_text25: type: - string - 'null' custom_text26: type: - string - 'null' custom_text27: type: - string - 'null' custom_text28: type: - string - 'null' custom_text29: type: - string - 'null' custom_text3: type: - string - 'null' custom_text30: type: - string - 'null' custom_text31: type: - string - 'null' custom_text32: type: - string - 'null' custom_text33: type: - string - 'null' custom_text34: type: - string - 'null' custom_text35: type: - string - 'null' custom_text36: type: - string - 'null' custom_text37: type: - string - 'null' custom_text38: type: - string - 'null' custom_text39: type: - string - 'null' custom_text4: type: - string - 'null' custom_text40: type: - string - 'null' custom_text41: type: - string - 'null' custom_text42: type: - string - 'null' custom_text43: type: - string - 'null' custom_text44: type: - string - 'null' custom_text45: type: - string - 'null' custom_text46: type: - string - 'null' custom_text47: type: - string - 'null' custom_text48: type: - string - 'null' custom_text49: type: - string - 'null' custom_text5: type: - string - 'null' custom_text50: type: - string - 'null' custom_text6: type: - string - 'null' custom_text7: type: - string - 'null' custom_text8: type: - string - 'null' custom_text9: type: - string - 'null' custom_text_block1: type: - string - 'null' custom_text_block2: type: - string - 'null' custom_text_block3: type: - string - 'null' custom_text_block4: type: - string - 'null' custom_text_block5: type: - string - 'null' custom_text_block6: type: - string - 'null' date_added: format: date-time type: - string - 'null' date_last_activity: format: date-time type: - string - 'null' date_last_modified: format: date-time type: - string - 'null' date_of_birth: format: date type: - string - 'null' email: type: - string - 'null' email2: type: - string - 'null' email3: type: - string - 'null' first_name: type: - string - 'null' home_phone: type: - string - 'null' id: minLength: 1 type: string internal_user_id: type: - string - 'null' internal_user_id2: type: - string - 'null' internal_user_id3: type: - string - 'null' is_archived: type: - boolean - 'null' is_deleted: description: A soft DELETE Operation is supported if the field `is_deleted = true` type: - boolean - 'null' last_name: type: - string - 'null' mobile_phone: type: - string - 'null' nick_name: type: - string - 'null' opt_out_email: type: - boolean - 'null' opt_out_sms: type: - boolean - 'null' phone4: type: - string - 'null' phone5: type: - string - 'null' preferred_contact_method: type: - string - 'null' source: type: - string - 'null' state: type: - string - 'null' status: type: - string - 'null' title: type: - string - 'null' work_phone: type: - string - 'null' zipcode: type: - string - 'null' required: - id 200_response_schema: properties: data: description: Contains the response entity data type: - object - 'null' errors: items: properties: entity_id: description: entity id which has validation errors if available type: - string - 'null' message: description: description of validation error type: - string - 'null' path: description: path to the entity which has validation errors items: type: string type: - array - 'null' type: array resource_id: description: the resource id for which data is requested type: string 201_response_schema: properties: message: type: - string - 'null' request_id: description: UUID reference for the submitted request type: string PossibleValuesGetResponse: properties: data: properties: field_name: description: The field name whose possible values are being returned type: string object_name: description: The object name for which possible values are configured type: string values: description: List of configured possible values, or null if none are set items: properties: associationValue: description: Optional association value if configured type: - string - 'null' label: type: string value: oneOf: - type: string - type: number - type: boolean required: - label - value type: object type: - array - 'null' type: object resource_id: description: The field name used in the request path type: string type: object securitySchemes: sense_authentication: flows: clientCredentials: scopes: N/A: The Sense API does not require a scope to be provided. tokenUrl: https://partner-auth.us-stage.sensehq.co/oauth2/token type: oauth2 sense_bearer_auth: bearerFormat: JWT scheme: bearer type: http