openapi: 3.1.0 info: title: Comunix API version: '2026-10-10' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-10: 16 operation(s) read from 7 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Comunix has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 9 documentation: 7 pages-with-code: 6 pages-read: 7 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-10' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://developer.zendesk.com/documentation/developer-tools/working-with-the-zendesk-apis/exploring-zendesk-apis-with-postman - https://developer.zendesk.com/documentation/ticketing/events/getting-started-with-events - https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles - https://developer.zendesk.com/documentation/custom-data/custom-objects/getting-started-with-custom-objects - https://developer.zendesk.com/documentation/developer-tools/getting-started/getting-a-trial-or-sponsored-account-for-development - https://developer.zendesk.com/api-reference/ticketing/introduction - https://developer.zendesk.com/api-reference/status_api/status_api servers: - url: https://status.zendesk.com paths: /: get: operationId: get tags: - Api summary: GET / x-source: https://developer.zendesk.com/documentation/developer-tools/working-with-the-zendesk-apis/exploring-zendesk-apis-with-postman responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: curl Exploring Zendesk APIs with Postman Frequently asked questions REST API glossary Best practices Best practices for avoiding rate limiting Using audit logs to track activity Using events to automate interactions Working with url properties Security best practices Working With Data Working with JSON Using the Search API Understanding sideloading Side-loading related records Getting large data s /api/incidents: get: operationId: get_api_incidents tags: - Api summary: GET /api/incidents x-source: https://developer.zendesk.com/api-reference/status_api/status_api responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetApiIncidentsResponse' x-evidence: kind: code-example language: curl snippet: "curl https://status.zendesk.com/api/incidents/ { incident_id } } ?include [ ] = incident_services,incident_updates,incident_services.service\ \ \n Go \n import ( \"fmt\" \"io\" \"net/http\" ) \n func main ( ) { url := \"https://support.zendesk.com/api/incidents/247?include[]=incident_updates%2Cincident_services%2Cincident_services.service\"\ \ method := \"GET\" req , err := http . NewRequest ( method , url , nil ) \n" /api/incidents/: get: operationId: get_api_incidents tags: - Api summary: List Active Incidents x-source: https://developer.zendesk.com/api-reference/status_api/status_api responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiIncidentsResponse2' x-evidence: kind: documentation /api/sunshine/objects/records/{resourceId}/relationships/{relationshipTypeKey}: get: operationId: get_api_sunshine_objects_records_resourceId_relationships_relationshipTypeKey tags: - Api summary: Getting started with legacy custom objects x-source: https://developer.zendesk.com/documentation/custom-data/custom-objects/getting-started-with-custom-objects parameters: - name: resourceId in: path required: true schema: type: string - name: relationshipTypeKey in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiSunshineObjectsRecordsResourceidRelationshipsRelations' x-evidence: kind: documentation /api/sunshine/objects/{objectid}: post: operationId: post_api_sunshine_objects_objectid tags: - Api summary: Getting started with legacy custom objects x-source: https://developer.zendesk.com/documentation/custom-data/custom-objects/getting-started-with-custom-objects parameters: - name: objectid in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiSunshineObjectsObjectidRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostApiSunshineObjectsObjectidResponse' x-evidence: kind: documentation collapsed_from: 2 example path(s) differing only at objectId /api/sunshine/{sunshineid}/records: post: operationId: post_api_sunshine_sunshineid_records tags: - Api summary: Getting started with legacy custom objects x-source: https://developer.zendesk.com/documentation/custom-data/custom-objects/getting-started-with-custom-objects parameters: - name: sunshineid in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiSunshineSunshineidRecordsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostApiSunshineSunshineidRecordsResponse' x-evidence: kind: documentation collapsed_from: 2 example path(s) differing only at sunshineId /api/sunshine/{sunshineid}/types: post: operationId: post_api_sunshine_sunshineid_types tags: - Api summary: Getting started with legacy custom objects x-source: https://developer.zendesk.com/documentation/custom-data/custom-objects/getting-started-with-custom-objects parameters: - name: sunshineid in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiSunshineSunshineidTypesRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostApiSunshineSunshineidTypesResponse' x-evidence: kind: documentation collapsed_from: 2 example path(s) differing only at sunshineId /api/v2/tickets/3.json: get: operationId: get_api_v2_tickets_3_json tags: - Api summary: GET /api/v2/tickets/3.json x-source: https://developer.zendesk.com/api-reference/ticketing/introduction responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetApiV2Tickets3JsonResponse' x-evidence: kind: code-example language: curl snippet: "curl https : / / { subdomain } . zendesk . com / api / v2 / tickets . json \\ - d '{\"ticket\": {\"subject\": \"Printer offline\"\ , \\ \"comment\": { \"body\": \"My printer is offline. Restarting doesn’t help.\" }}}' \\ - H \"Content-Type: application/json\" - H\ \ \"Idempotency-Key: 12345\" \\ - v - u user : password - X POST \n This creates the following response, which also includes a x-idempotency-lookup:\ \ miss header:" /api/v2/user_profiles: get: operationId: get_api_v2_user_profiles tags: - Api summary: GET /api/v2/user_profiles x-source: https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles parameters: - name: identifier in: query required: false schema: type: string responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetApiV2UserProfilesResponse' x-evidence: kind: code-example language: curl snippet: "curl \"https://{subdomain}.zendesk.com/api/v2/user_profiles?identifier=acme:customer:email: [email protected] \" \\ - d @ profile\ \ . json \\ - H \"Content-Type: application/json\" \\ - H \"Authorization: Bearer {access_token}\" - X PUT \n Make sure to replace the\ \ placeholder values with your own. Also make sure to enclose the URL in quotes. \n Windows users: Replace the line-continuation backslashes\ \ (\\) in th" patch: operationId: patch_api_v2_user_profiles tags: - Api summary: Update an existing profile x-source: https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles parameters: - name: identifier in: query required: true schema: type: string description: Identifier query used to select the profile to update requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchApiV2UserProfilesRequest' responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PatchApiV2UserProfilesResponse' x-evidence: kind: documentation put: operationId: put_api_v2_user_profiles tags: - Api summary: Create or replace a profile x-source: https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles parameters: - name: identifier in: query required: true schema: type: string description: Identifier query that defines source and type and prevents duplicate data (e.g. acme:customer:email:[email protected]) requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PutApiV2UserProfilesRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PutApiV2UserProfilesResponse' x-evidence: kind: documentation /api/v2/user_profiles/events: get: operationId: get_api_v2_user_profiles_events tags: - Api summary: GET /api/v2/user_profiles/events x-source: https://developer.zendesk.com/documentation/ticketing/events/getting-started-with-events parameters: - name: identifier in: query required: false schema: type: string responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetApiV2UserProfilesEventsResponse' x-evidence: kind: code-example language: curl snippet: "curl \"https://{subdomain}.zendesk.com/api/v2/user_profiles/events?identifier=acme:customer:email: [email protected] \" \\ -\ \ H \"Authorization: Bearer {access_token}\" \n Make sure to replace the placeholder values with your own. Also make sure to enclose\ \ the URL in quotes. \n Example response \n Status : 200 OK \n { \"events\" : [ { \"id\" : \"5c42123e98326c0001b0b25c\" , \"type\" :\ \ \"2fa_enabled\" , \"source\" : \"ac" post: operationId: post_api_v2_user_profiles_events tags: - Api summary: Create an event x-source: https://developer.zendesk.com/documentation/ticketing/events/getting-started-with-events requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiV2UserProfilesEventsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostApiV2UserProfilesEventsResponse' x-evidence: kind: documentation /api/v2/user_profiles/{profileId}/events: get: operationId: get_api_v2_user_profiles_profileId_events tags: - Api summary: Retrieve events for a profile x-source: https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles parameters: - name: profileId in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiV2UserProfilesProfileidEventsResponse' x-evidence: kind: documentation /api/v2/users/{userId}/events: post: operationId: post_api_v2_users_userId_events tags: - Api summary: Create an event for a specific user x-source: https://developer.zendesk.com/documentation/ticketing/events/getting-started-with-events parameters: - name: userId in: path required: true schema: type: string responses: '201': description: Success (status as documented) x-evidence: kind: documentation /register/free-trial: get: operationId: get_register_free_trial tags: - Register summary: GET /register/free-trial x-source: https://developer.zendesk.com/documentation/developer-tools/getting-started/getting-a-trial-or-sponsored-account-for-development responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: curl Exploring Zendesk APIs with Postman Frequently asked questions REST API glossary Best practices Best practices for avoiding rate limiting Using audit logs to track activity Using events to automate interactions Working with url properties Security best practices Working With Data Working with JSON Using the Search API Understanding sideloading Side-loading related records Getting large data s components: schemas: GetApiIncidentsResponse: type: object properties: degradation: type: boolean impact: type: string outage: type: boolean postmortem: type: string resolved_at: type: - string - 'null' started_at: type: string format: date-time status: type: string title: type: string GetApiIncidentsResponse2: type: object properties: data: type: array description: Primary incident data with attributes and relationships included included: type: array description: Related resources (incident_updates, incident_services, and services) GetApiSunshineObjectsRecordsResourceidRelationshipsRelations: type: object properties: data: type: array description: List of relationship records data.id: type: string description: Relationship record id data.target: type: string description: Target object reference data.ref: type: string description: API reference URL for the target links.previous: type: string description: Link to previous page (if any) links.next: type: string description: Link to next page (if any) PostApiSunshineObjectsObjectidRequest: type: object properties: data: type: object description: Contains the type and attributes for the record data.type: type: string description: Object type key (e.g., "pc") data.attributes: type: object description: Attributes defined by the object type schema data.attributes.id: type: string description: Custom identifier for the object data.attributes.model: type: string description: Model of the object data.attributes.is_laptop: type: boolean description: Whether the object is a laptop required: - data - data.type - data.attributes PostApiSunshineObjectsObjectidResponse: type: object properties: data.type: type: string description: Object type data.id: type: string description: Legacy object record id PostApiSunshineSunshineidRecordsRequest: type: object properties: data: type: object description: Defines the relationship record data.relationship_type: type: string description: Key of the relationship type data.source: type: string description: ID of the source object data.target: type: string description: 'ID of the target object (may include zen: prefix)' required: - data - data.relationship_type - data.source - data.target PostApiSunshineSunshineidRecordsResponse: type: object properties: data.id: type: string description: Relationship record id data.relationship_record_type: type: string description: Relationship type key data.source: type: string description: Source object id data.target: type: string description: Target object id data.created_at: type: string description: Timestamp of creation PostApiSunshineSunshineidTypesRequest: type: object properties: data: type: object description: Contains the key and schema for the legacy object type data.key: type: string description: Unique identifier for the object type (e.g., "pc") data.schema: type: object description: Schema describing the object's properties data.schema.properties: type: object description: Map of property definitions data.schema.properties.id: type: object description: Property definition for id data.schema.properties.id.type: type: string description: Data type, e.g., "string" data.schema.properties.id.description: type: string description: Description of the id property data.schema.properties.model: type: object description: Property definition for model data.schema.properties.is_laptop: type: object description: Property definition for is_laptop data.schema.required: type: array description: List of required property names required: - data - data.key - data.schema - data.schema.properties PostApiSunshineSunshineidTypesResponse: type: object properties: data.key: type: string description: Key of the created object type data.schema: type: object description: Schema of the created object type data.created_at: type: string description: Timestamp of creation data.updated_at: type: string description: Timestamp of last update GetApiV2Tickets3JsonResponse: type: object properties: ticket: type: object properties: url: type: string id: type: integer subject: type: string GetApiV2UserProfilesResponse: type: object properties: profile: type: object properties: id: type: string user_id: type: string source: type: string type: type: string name: type: string attributes: type: object properties: contact_pref: type: string joined: type: string identifiers: type: array items: type: object properties: type: type: string value: type: string created_at: type: string format: date-time updated_at: type: string format: date-time PatchApiV2UserProfilesRequest: type: object properties: profile: type: object description: Partial profile object with fields to update profile.identifiers: type: array description: Array of identifier objects to add profile.identifiers[].type: type: string description: Identifier type (e.g. "office_phone") profile.identifiers[].value: type: string description: Identifier value required: - profile - profile.identifiers - profile.identifiers[].type - profile.identifiers[].value PatchApiV2UserProfilesResponse: type: object properties: profile.id: type: string profile.user_id: type: string profile.source: type: string profile.type: type: string profile.name: type: string profile.attributes: type: object profile.identifiers: type: array profile.created_at: type: string profile.updated_at: type: string PutApiV2UserProfilesRequest: type: object properties: profile: type: object description: Profile object to create profile.source: type: string description: Source of the profile (e.g. "acme") profile.type: type: string description: Type of the profile (e.g. "customer") profile.identifiers: type: array description: Array of identifier objects profile.identifiers[].type: type: string description: Identifier type (e.g. "email", "phone_number") profile.identifiers[].value: type: string description: Identifier value profile.attributes: type: object description: Optional custom attributes required: - profile - profile.source - profile.type - profile.identifiers - profile.identifiers[].type - profile.identifiers[].value PutApiV2UserProfilesResponse: type: object properties: profile.id: type: string description: Profile ID profile.user_id: type: string description: Associated Zendesk user ID profile.source: type: string profile.type: type: string profile.name: type: string profile.attributes: type: object profile.identifiers: type: array profile.created_at: type: string description: Timestamp of creation profile.updated_at: type: string description: Timestamp of last update GetApiV2UserProfilesEventsResponse: type: object properties: events: type: array items: type: object properties: id: type: string type: type: string source: type: string description: type: string created_at: type: string format: date-time received_at: type: string format: date-time properties: type: object properties: passcode_preference: type: string links: type: array items: type: object properties: next: type: string PostApiV2UserProfilesEventsRequest: type: object properties: profile: type: string description: Object that associates the person in the external system with a Zendesk user. profile.source: type: string description: Source of the profile (e.g., "acme"). profile.type: type: string description: Type of the profile (e.g., "customer"). profile.identifiers: type: string description: Array of identifier objects. profile.identifiers[].type: type: string description: Identifier type (e.g., "email"). profile.identifiers[].value: type: string description: Identifier value (e.g., an email address). event: type: string description: Object describing the event. event.source: type: string description: Source of the event (e.g., "acme"). event.type: type: string description: Event type (e.g., "2fa_enabled"). event.description: type: string description: Human‑readable description of the event. event.properties: type: string description: Key/value pairs with additional event data. event.properties.passcode_preference: type: string description: Example property (e.g., "SMS"). required: - profile - profile.source - profile.type - profile.identifiers - profile.identifiers[].type - profile.identifiers[].value - event - event.source - event.type - event.description PostApiV2UserProfilesEventsResponse: type: object properties: status: type: string description: 'Result of the request (example: "received").' GetApiV2UserProfilesProfileidEventsResponse: type: object properties: events: type: array description: List of event objects associated with the profile tags: - name: Api - name: Register