Read a team's audit log
get/v1/teams/{team_id}/audit
Requires an API key
Entries about the team's members and invites, and every entry of its projects. The team's owners and admins (members:manage) and Ivora staff. Filters: action (an exact action or a family, such as team.member), actor, since (inclusive) and until (exclusive), ISO 8601 timestamps with an offset. Newest first; page with cursor=next_cursor. Entries are append-only and hold no secrets.
Path parameters
- team_idstringRequiredPattern
^team_[0-9a-f]{32}$
Query parameters
- actionstring | nullPattern
^[a-z][a-z0-9_.]{0,63}$ - actorstring | nullPattern
^[A-Za-z0-9:._@/-]{1,128}$ - sincestring | nullUp to 40 characters
- untilstring | nullUp to 40 characters
- cursorstring | nullnext_cursor of the previous page.Pattern
^[0-9]{1,18}$ - limitintegerDefault
50· Minimum 1 · Maximum 100
Returns · 200
- dataarray of AuditEventRequiredNewest first.
Child attributes
- idstringRequiredThe entry's ID.
- atstringRequiredWhen it happened, ISO 8601 UTC.
- actorstringRequiredWho did it: user:{id} for a person, access-sync for the automatic import of a sign-in grant, or a staff or system actor.
- actionstringRequiredWhat happened, such as team.member.added, team.invite.created, project.created, project.renamed, project.api_key.created.
- team_idstring | nullRequiredThe team, for team entries and every entry of a team's project; null for entries outside any team.
- tenant_idinteger | nullRequiredThe project's tenant ID; null for team-level entries.
- targetstring | nullRequiredWhat it was done to: a user, invite or key ID, or a project ID.
- detailobjectRequiredIdentifiers, roles and labels; never a secret, an email or card data.
- migration_idstring | nullThe migration workspace the entry belongs to (mig_...), else null.
- actor_team_idstring | nullThe actor's own team in a migration entry (team_id is the project's), else null.
- next_cursorstring | nullRequiredPass as cursor for the next, older page; null on the last page.
GET /v1/teams/{team_id}/audit
curl --fail-with-body "https://api.ivoracharge.com/v1/teams/team_0123456789abcdef0123456789abcdef/audit" \
-H "Authorization: Bearer $IVORA_API_KEY"Response · 200JSON
{
"data": [
{
"id": "id_0123456789abcdef",
"at": "string",
"actor": "string",
"action": "string",
"team_id": "team_0123456789abcdef",
"tenant_id": 1042,
"target": "string",
"detail": {},
"migration_id": "migration_0123456789abcdef",
"actor_team_id": "actor_team_0123456789abcdef"
}
],
"next_cursor": "string"
}Requires an approved production API keyProduction access starts with a request, a short meeting with Ivora and a card on file, after which Ivora staff grant your account access. How to request access
Try itproduction · api.ivoracharge.com
Paste a production api key (iv_live_…). Create keys in Developer tools. The key stays in this page's memory, is sent only to https://api.ivoracharge.com and clears when you reload. Test keys are refused.



