openapi: 3.2.0 info: title: Popp Webhooks API description: Popp API documentation version: '1' servers: - url: https://api.joinpopp.com description: Development server security: - popp_api_key: [] organization_id: [] tags: - name: Webhooks paths: /v1/webhook-events: get: summary: List Webhook Events description: List all webhook event types available for subscription, with their descriptions and categories operationId: list-webhook-events parameters: [] tags: - Webhooks responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListWebhookEventsResponse' headers: {} '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} /v1/webhooks: get: summary: List Webhooks description: List all webhooks configured for the organization operationId: list-webhooks parameters: [] tags: - Webhooks responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListWebhooksResponse' headers: {} '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} post: summary: Create Webhook description: Create a new webhook for the organization. Subscribing to an event that is not yet available returns 400. operationId: create-webhook parameters: [] tags: - Webhooks requestBody: description: Create Webhook Request required: false content: application/json: schema: $ref: '#/components/schemas/CreateWebhookRequest' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/CreateWebhookResponse' headers: {} '400': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} /v1/webhooks/{webhookId}: put: summary: Update Webhook description: Update an existing webhook configuration. Subscribing to an event that is not yet available returns 400. operationId: update-webhook parameters: - name: webhookId in: path description: The ID of the webhook to update required: true schema: $ref: '#/components/schemas/webhookId' tags: - Webhooks requestBody: description: Update Webhook Request required: false content: application/json: schema: $ref: '#/components/schemas/UpdateWebhookRequest' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Webhook' headers: {} '400': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '403': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} delete: summary: Delete Webhook description: Delete a webhook configuration operationId: delete-webhook parameters: - name: webhookId in: path description: The ID of the webhook to delete required: true schema: $ref: '#/components/schemas/webhookId' tags: - Webhooks responses: '204': description: '' headers: {} '400': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' headers: {} components: schemas: UpdateWebhookRequest: description: Request to update a webhook type: object properties: name: type: string minLength: 1 description: Name of the webhook url: type: string format: uri description: HTTPS URL to receive webhook events subscribedEvents: type: array items: type: string enum: - CONVERSATION_STARTED - CONVERSATION_COMPLETED - CONVERSATION_NEEDS_REVIEW - CONVERSATION_QUEUED - CONVERSATION_OPTED_OUT - START_CONVERSATION_FAILED - ANALYSIS_CREATED - CANDIDATE_ANALYSIS_COMPLETED - CANDIDATE_ANALYSIS_RESCORED - CANDIDATE_ANALYSIS_RESCORED_AFTER_ACTED_ON - CANDIDATE_ANALYSIS_FAILED - DOCUMENT_UPLOADED - CALENDAR_MEETING_SCHEDULED - CALENDAR_MEETING_RESCHEDULED - CALENDAR_MEETING_CANCELLED - CALENDAR_NOTE_TAKER_COMPLETED - CAMPAIGN_STOPPED - CALENDAR_AVAILABILITY_NOT_FOUND - CALENDAR_MORE_TIME_REQUESTED - WORKFLOW_RUN_STARTED - WORKFLOW_RUN_COMPLETED - WORKFLOW_RUN_FAILED - WORKFLOW_RUN_CANCELLED - WORKFLOW_CONTACT_RESOLVED - WORKFLOW_CONTACT_RESOLUTION_FAILED - WORKFLOW_CONTACT_RESOLUTION_SKIPPED - WORKFLOW_NODE_COMPLETED - WORKFLOW_PUBLISHED - CANDIDATE_LIST_CREATED - CANDIDATE_LIST_UPDATED - CANDIDATE_LIST_DELETED - CANDIDATE_LIST_MEMBERSHIP_UPDATED description: List of event types to subscribe to. `CANDIDATE_ANALYSIS_RESCORED`, `CANDIDATE_ANALYSIS_RESCORED_AFTER_ACTED_ON` and `CANDIDATE_ANALYSIS_FAILED` are not yet available to subscribe to, and a request that includes any of them returns 400. additionalProperties: false ListWebhookEventsResponse: description: Response containing the list of available webhook events type: object properties: data: type: array description: List of available webhook events items: type: object properties: name: type: string description: The webhook event type identifier (e.g. CONVERSATION_STARTED) description: type: string description: Human-readable description of when the event fires category: type: string description: Category the event belongs to (e.g. Conversations, Scheduling, Workflows) CreateWebhookResponse: description: Response after creating a webhook type: object properties: id: type: string description: Unique webhook identifier name: type: string description: Name of the webhook url: type: string format: uri description: Webhook URL subscribedEvents: type: array items: type: string enum: - CONVERSATION_STARTED - CONVERSATION_COMPLETED - CONVERSATION_NEEDS_REVIEW - CONVERSATION_QUEUED - CONVERSATION_OPTED_OUT - START_CONVERSATION_FAILED - ANALYSIS_CREATED - CANDIDATE_ANALYSIS_COMPLETED - DOCUMENT_UPLOADED - CALENDAR_MEETING_SCHEDULED - CALENDAR_MEETING_RESCHEDULED - CALENDAR_MEETING_CANCELLED - CALENDAR_NOTE_TAKER_COMPLETED - CAMPAIGN_STOPPED - CALENDAR_AVAILABILITY_NOT_FOUND - CALENDAR_MORE_TIME_REQUESTED - WORKFLOW_RUN_STARTED - WORKFLOW_RUN_COMPLETED - WORKFLOW_RUN_FAILED - WORKFLOW_RUN_CANCELLED - WORKFLOW_CONTACT_RESOLVED - WORKFLOW_CONTACT_RESOLUTION_FAILED - WORKFLOW_CONTACT_RESOLUTION_SKIPPED - WORKFLOW_NODE_COMPLETED - WORKFLOW_PUBLISHED - CANDIDATE_LIST_CREATED - CANDIDATE_LIST_UPDATED - CANDIDATE_LIST_DELETED - CANDIDATE_LIST_MEMBERSHIP_UPDATED description: Subscribed event types signingSecret: type: string description: HMAC signing secret for verifying webhook payloads. Only returned on creation. ListWebhooksResponse: description: Response containing list of webhooks type: object properties: data: type: array items: type: object properties: id: type: string description: Unique webhook identifier name: type: string description: Name of the webhook url: type: string format: uri description: HTTPS URL to receive webhook events signingSecret: type: string description: HMAC signing secret for verifying webhook payloads subscribedEvents: type: array items: type: string enum: - CONVERSATION_STARTED - CONVERSATION_COMPLETED - CONVERSATION_NEEDS_REVIEW - CONVERSATION_QUEUED - CONVERSATION_OPTED_OUT - START_CONVERSATION_FAILED - ANALYSIS_CREATED - CANDIDATE_ANALYSIS_COMPLETED - DOCUMENT_UPLOADED - CALENDAR_MEETING_SCHEDULED - CALENDAR_MEETING_RESCHEDULED - CALENDAR_MEETING_CANCELLED - CALENDAR_NOTE_TAKER_COMPLETED - CAMPAIGN_STOPPED - CALENDAR_AVAILABILITY_NOT_FOUND - CALENDAR_MORE_TIME_REQUESTED - WORKFLOW_RUN_STARTED - WORKFLOW_RUN_COMPLETED - WORKFLOW_RUN_FAILED - WORKFLOW_RUN_CANCELLED - WORKFLOW_CONTACT_RESOLVED - WORKFLOW_CONTACT_RESOLUTION_FAILED - WORKFLOW_CONTACT_RESOLUTION_SKIPPED - WORKFLOW_NODE_COMPLETED - WORKFLOW_PUBLISHED - CANDIDATE_LIST_CREATED - CANDIDATE_LIST_UPDATED - CANDIDATE_LIST_DELETED - CANDIDATE_LIST_MEMBERSHIP_UPDATED description: List of event types this webhook is subscribed to organizationId: type: string description: Organization ID createdAt: type: string format: date-time description: Creation timestamp updatedAt: type: string format: date-time description: Last update timestamp description: List of webhook configurations Webhook: description: Webhook configuration type: object properties: id: type: string description: Unique webhook identifier name: type: string description: Name of the webhook url: type: string format: uri description: HTTPS URL to receive webhook events subscribedEvents: type: array items: type: string enum: - CONVERSATION_STARTED - CONVERSATION_COMPLETED - CONVERSATION_NEEDS_REVIEW - CONVERSATION_QUEUED - CONVERSATION_OPTED_OUT - START_CONVERSATION_FAILED - ANALYSIS_CREATED - CANDIDATE_ANALYSIS_COMPLETED - DOCUMENT_UPLOADED - CALENDAR_MEETING_SCHEDULED - CALENDAR_MEETING_RESCHEDULED - CALENDAR_MEETING_CANCELLED - CALENDAR_NOTE_TAKER_COMPLETED - CAMPAIGN_STOPPED - CALENDAR_AVAILABILITY_NOT_FOUND - CALENDAR_MORE_TIME_REQUESTED - WORKFLOW_RUN_STARTED - WORKFLOW_RUN_COMPLETED - WORKFLOW_RUN_FAILED - WORKFLOW_RUN_CANCELLED - WORKFLOW_CONTACT_RESOLVED - WORKFLOW_CONTACT_RESOLUTION_FAILED - WORKFLOW_CONTACT_RESOLUTION_SKIPPED - WORKFLOW_NODE_COMPLETED - WORKFLOW_PUBLISHED - CANDIDATE_LIST_CREATED - CANDIDATE_LIST_UPDATED - CANDIDATE_LIST_DELETED - CANDIDATE_LIST_MEMBERSHIP_UPDATED description: List of event types this webhook is subscribed to organizationId: type: string description: Organization ID createdAt: type: string format: date-time description: Creation timestamp updatedAt: type: string format: date-time description: Last update timestamp webhookId: type: string ErrorResponse: type: object CreateWebhookRequest: description: Request to create a webhook type: object required: - name - url properties: name: type: string minLength: 1 description: Name of the webhook url: type: string format: uri description: HTTPS URL to receive webhook events subscribedEvents: type: array items: type: string enum: - CONVERSATION_STARTED - CONVERSATION_COMPLETED - CONVERSATION_NEEDS_REVIEW - CONVERSATION_QUEUED - CONVERSATION_OPTED_OUT - START_CONVERSATION_FAILED - ANALYSIS_CREATED - CANDIDATE_ANALYSIS_COMPLETED - CANDIDATE_ANALYSIS_RESCORED - CANDIDATE_ANALYSIS_RESCORED_AFTER_ACTED_ON - CANDIDATE_ANALYSIS_FAILED - DOCUMENT_UPLOADED - CALENDAR_MEETING_SCHEDULED - CALENDAR_MEETING_RESCHEDULED - CALENDAR_MEETING_CANCELLED - CALENDAR_NOTE_TAKER_COMPLETED - CAMPAIGN_STOPPED - CALENDAR_AVAILABILITY_NOT_FOUND - CALENDAR_MORE_TIME_REQUESTED - WORKFLOW_RUN_STARTED - WORKFLOW_RUN_COMPLETED - WORKFLOW_RUN_FAILED - WORKFLOW_RUN_CANCELLED - WORKFLOW_CONTACT_RESOLVED - WORKFLOW_CONTACT_RESOLUTION_FAILED - WORKFLOW_CONTACT_RESOLUTION_SKIPPED - WORKFLOW_NODE_COMPLETED - WORKFLOW_PUBLISHED - CANDIDATE_LIST_CREATED - CANDIDATE_LIST_UPDATED - CANDIDATE_LIST_DELETED - CANDIDATE_LIST_MEMBERSHIP_UPDATED description: List of event types to subscribe to. `CANDIDATE_ANALYSIS_RESCORED`, `CANDIDATE_ANALYSIS_RESCORED_AFTER_ACTED_ON` and `CANDIDATE_ANALYSIS_FAILED` are not yet available to subscribe to, and a request that includes any of them returns 400. additionalProperties: false securitySchemes: popp_api_key: description: Your Popp API key for authentication type: apiKey name: x-api-key in: header organization_id: description: Your organization's unique identifier type: apiKey name: x-organization-id in: header x-provenance: method: searched source: https://docs.joinpopp.com/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://docs.joinpopp.com/reference/add-candidates-to-list-by-external-id.md - https://docs.joinpopp.com/reference/add-candidates-to-list.md - https://docs.joinpopp.com/reference/archive-analysis.md - https://docs.joinpopp.com/reference/archive-document-type.md - https://docs.joinpopp.com/reference/archive-workflow-by-external-id.md - https://docs.joinpopp.com/reference/archive-workflow.md - https://docs.joinpopp.com/reference/bulk-create-conversations.md - https://docs.joinpopp.com/reference/cancel-booking.md - https://docs.joinpopp.com/reference/cancel-workflow-run.md - https://docs.joinpopp.com/reference/create-analysis-candidate.md - https://docs.joinpopp.com/reference/create-analysis.md - https://docs.joinpopp.com/reference/create-campaign.md - https://docs.joinpopp.com/reference/create-candidate-list.md - https://docs.joinpopp.com/reference/create-candidate-note-by-external-id.md - https://docs.joinpopp.com/reference/create-candidate-note.md - https://docs.joinpopp.com/reference/create-candidate.md - https://docs.joinpopp.com/reference/create-conversation.md - https://docs.joinpopp.com/reference/create-custom-field.md - https://docs.joinpopp.com/reference/create-document-credential.md - https://docs.joinpopp.com/reference/create-document-type.md - https://docs.joinpopp.com/reference/create-meeting-template.md - https://docs.joinpopp.com/reference/create-organization-config.md - https://docs.joinpopp.com/reference/create-scheduling-conversation.md - https://docs.joinpopp.com/reference/create-user.md - https://docs.joinpopp.com/reference/create-webhook.md - https://docs.joinpopp.com/reference/create-workflow.md - https://docs.joinpopp.com/reference/deactivate-user-by-email.md - https://docs.joinpopp.com/reference/deactivate-user.md - https://docs.joinpopp.com/reference/delete-candidate-by-email.md - https://docs.joinpopp.com/reference/delete-candidate-by-external-id.md - https://docs.joinpopp.com/reference/delete-candidate-by-phone-number.md - https://docs.joinpopp.com/reference/delete-candidate-list-by-external-id.md - https://docs.joinpopp.com/reference/delete-candidate-list.md - https://docs.joinpopp.com/reference/delete-candidate-note.md - https://docs.joinpopp.com/reference/delete-candidate.md - https://docs.joinpopp.com/reference/delete-custom-field.md - https://docs.joinpopp.com/reference/delete-document-credential.md - https://docs.joinpopp.com/reference/delete-document-type.md - https://docs.joinpopp.com/reference/delete-meeting-template.md - https://docs.joinpopp.com/reference/delete-tag.md - https://docs.joinpopp.com/reference/delete-user-by-email.md - https://docs.joinpopp.com/reference/delete-user.md - https://docs.joinpopp.com/reference/delete-webhook.md - https://docs.joinpopp.com/reference/download-media.md - https://docs.joinpopp.com/reference/generate-preferred-answer-requirements.md - https://docs.joinpopp.com/reference/generate-questions.md - https://docs.joinpopp.com/reference/generate-requirements.md - https://docs.joinpopp.com/reference/get-analysis.md - https://docs.joinpopp.com/reference/get-booking.md - https://docs.joinpopp.com/reference/get-campaign.md - https://docs.joinpopp.com/reference/get-candidate-by-external-id.md - https://docs.joinpopp.com/reference/get-candidate-list-by-external-id.md - https://docs.joinpopp.com/reference/get-candidate-list.md - https://docs.joinpopp.com/reference/get-candidate-profile-by-external-id.md - https://docs.joinpopp.com/reference/get-candidate.md - https://docs.joinpopp.com/reference/get-conversation.md - https://docs.joinpopp.com/reference/get-custom-field.md - https://docs.joinpopp.com/reference/get-document-media.md - https://docs.joinpopp.com/reference/get-document-type.md - https://docs.joinpopp.com/reference/get-document.md - https://docs.joinpopp.com/reference/get-meeting-template.md - https://docs.joinpopp.com/reference/get-organization-config-by-external-id.md - https://docs.joinpopp.com/reference/get-organization-config.md - https://docs.joinpopp.com/reference/get-organization-details.md - https://docs.joinpopp.com/reference/get-user-by-email.md - https://docs.joinpopp.com/reference/get-user-calendar.md - https://docs.joinpopp.com/reference/get-user.md - https://docs.joinpopp.com/reference/get-workflow-analysis-application.md - https://docs.joinpopp.com/reference/get-workflow-analysis.md - https://docs.joinpopp.com/reference/get-workflow-by-external-id.md - https://docs.joinpopp.com/reference/get-workflow-run.md - https://docs.joinpopp.com/reference/get-workflow.md - https://docs.joinpopp.com/reference/hand-conversation-to-agent.md - https://docs.joinpopp.com/reference/invite-calendar-contact.md - https://docs.joinpopp.com/reference/list-agents.md - https://docs.joinpopp.com/reference/list-analyses.md - https://docs.joinpopp.com/reference/list-ats-job-stages.md - https://docs.joinpopp.com/reference/list-ats-jobs.md - https://docs.joinpopp.com/reference/list-ats-rejection-reasons.md - https://docs.joinpopp.com/reference/list-bookings.md - https://docs.joinpopp.com/reference/list-campaigns.md - https://docs.joinpopp.com/reference/list-candidate-lists.md - https://docs.joinpopp.com/reference/list-candidate-notes-by-external-id.md - https://docs.joinpopp.com/reference/list-candidate-notes.md - https://docs.joinpopp.com/reference/list-conversation-documents.md - https://docs.joinpopp.com/reference/list-conversation-messages.md - https://docs.joinpopp.com/reference/list-conversations.md - https://docs.joinpopp.com/reference/list-custom-fields.md - https://docs.joinpopp.com/reference/list-document-credentials.md - https://docs.joinpopp.com/reference/list-document-types.md - https://docs.joinpopp.com/reference/list-meeting-templates.md - https://docs.joinpopp.com/reference/list-organization-users.md - https://docs.joinpopp.com/reference/list-organizations.md - https://docs.joinpopp.com/reference/list-tags.md - https://docs.joinpopp.com/reference/list-templates.md - https://docs.joinpopp.com/reference/list-user-calendars.md - https://docs.joinpopp.com/reference/list-users.md - https://docs.joinpopp.com/reference/list-webhook-events.md - https://docs.joinpopp.com/reference/list-webhooks.md - https://docs.joinpopp.com/reference/list-workflow-analysis-application-history.md - https://docs.joinpopp.com/reference/list-workflow-analysis-applications.md - https://docs.joinpopp.com/reference/list-workflow-runs.md - https://docs.joinpopp.com/reference/list-workflows.md - https://docs.joinpopp.com/reference/parse-availability.md - https://docs.joinpopp.com/reference/pause-workflow-by-external-id.md - https://docs.joinpopp.com/reference/pause-workflow.md - https://docs.joinpopp.com/reference/process-document.md - https://docs.joinpopp.com/reference/publish-workflow-by-external-id.md - https://docs.joinpopp.com/reference/publish-workflow.md - https://docs.joinpopp.com/reference/reactivate-user-by-email.md - https://docs.joinpopp.com/reference/reactivate-user.md - https://docs.joinpopp.com/reference/remove-candidate-document-by-external-id.md - https://docs.joinpopp.com/reference/remove-candidate-document.md - https://docs.joinpopp.com/reference/remove-candidates-from-list-by-external-id.md - https://docs.joinpopp.com/reference/remove-candidates-from-list.md - https://docs.joinpopp.com/reference/reparse-candidate-cv-by-external-id.md - https://docs.joinpopp.com/reference/reparse-candidate-cv.md - https://docs.joinpopp.com/reference/resend-booking-url.md - https://docs.joinpopp.com/reference/resume-workflow-by-external-id.md - https://docs.joinpopp.com/reference/resume-workflow.md - https://docs.joinpopp.com/reference/send-conversation-message.md - https://docs.joinpopp.com/reference/set-user-calendar-availability.md - https://docs.joinpopp.com/reference/sign-out-user-by-email.md - https://docs.joinpopp.com/reference/sign-out-user.md - https://docs.joinpopp.com/reference/start-workflow-runs-by-external-id.md - https://docs.joinpopp.com/reference/start-workflow-runs.md - https://docs.joinpopp.com/reference/stop-campaign.md - https://docs.joinpopp.com/reference/takeover-conversation.md - https://docs.joinpopp.com/reference/update-analysis.md - https://docs.joinpopp.com/reference/update-booking.md - https://docs.joinpopp.com/reference/update-campaign.md - https://docs.joinpopp.com/reference/update-candidate-by-external-id.md - https://docs.joinpopp.com/reference/update-candidate-list-by-external-id.md - https://docs.joinpopp.com/reference/update-candidate-list.md - https://docs.joinpopp.com/reference/update-candidate-note.md - https://docs.joinpopp.com/reference/update-candidate.md - https://docs.joinpopp.com/reference/update-custom-field.md - https://docs.joinpopp.com/reference/update-document-credential.md - https://docs.joinpopp.com/reference/update-document-type.md - https://docs.joinpopp.com/reference/update-meeting-template.md - https://docs.joinpopp.com/reference/update-organization-config-by-external-id.md - https://docs.joinpopp.com/reference/update-organization-config.md - https://docs.joinpopp.com/reference/update-organization-details.md - https://docs.joinpopp.com/reference/update-requirements-and-reanalyse.md - https://docs.joinpopp.com/reference/update-user-by-email.md - https://docs.joinpopp.com/reference/update-user.md - https://docs.joinpopp.com/reference/update-webhook.md - https://docs.joinpopp.com/reference/update-workflow-by-external-id.md - https://docs.joinpopp.com/reference/update-workflow.md merge: pages: 149 deduped: 618 conflicts_kept_first: 0