xAPI (Experience API, also known as Tin Can) is an e-learning specification that allows learning systems to send data to a Learning Record Store (LRS). When enabled, PressPrimer Quiz automatically sends quiz attempt data to your LRS for centralized tracking and reporting.
When to Use xAPI
xAPI integration is useful when you need to:
- Track learning data across multiple systems in one place
- Meet compliance requirements that mandate centralized learning records
- Build custom reports or dashboards using LRS data
- Integrate with enterprise learning management systems
If you’re not using an LRS or don’t have compliance requirements for centralized tracking, you can skip this feature entirely.
Configuration
Navigate to PressPrimer Quiz > Settings and select the xAPI tab.

Connection Settings
- Enable xAPI: Toggle on to start sending statements to your LRS.
- LRS Endpoint: The URL of your LRS statements endpoint. This is provided by your LRS provider (e.g.,
https://lrs.example.com/xapi/). - Username and Password: Authentication credentials for your LRS. These are typically created in your LRS admin panel when you set up a new client or activity provider.
Actor Identification
The “actor” in xAPI statements identifies who took the quiz. Choose how learners are identified:
- Email: Uses the learner’s WordPress email address (most common)
- Username: Uses the WordPress username
- Account: Uses a combination of your site URL and user ID
Verbosity Level
Controls how much detail is sent to your LRS:
- Quiz level: Sends one statement per quiz attempt with overall results (score, pass/fail, duration)
- Question level: Sends individual statements for each question answered, plus the overall quiz result. Provides more detailed analytics but generates more data.
Activity ID Format
Determines how quizzes and questions are identified in statements:
- UUID: Uses the quiz/question’s unique identifier (recommended for most cases)
- Numeric: Uses the WordPress post ID
What Data is Sent
When a learner completes a quiz, PressPrimer Quiz sends xAPI statements including:
- Who took the quiz (actor)
- What quiz was taken (activity)
- The result: score, scaled score (0-1), pass/fail status
- Duration (time spent)
- Timestamp
With question-level verbosity enabled, individual question responses are also recorded, including the learner’s answer and whether it was correct.
Troubleshooting Failed Statements
If statements fail to send (due to network issues, incorrect credentials, or LRS downtime), they’re queued for retry. When failures accumulate, you’ll see an admin notice.
Common issues:
- 401 Unauthorized: Check your username and password
- 404 Not Found: Verify the endpoint URL is correct
- Timeout errors: Your LRS may be temporarily unavailable; statements will retry automatically
From the xAPI settings tab, you can view failed statements and choose to retry or delete them. Look for the Queue Status section at the bottom of the page.You can view failed statement details (see below) and manually retry or deleted failed statement attempts. Full statement text is also available if you expand each failed row.

Note that all statements are queued and sent in batches, so as you complete activities, wait a few seconds if you don’t see activities logged in the LRS immediately.
