diff --git a/app/Http/Controllers/Api/V1/ApiTokenController.php b/app/Http/Controllers/Api/V1/ApiTokenController.php
index 140f4891..f590568f 100644
--- a/app/Http/Controllers/Api/V1/ApiTokenController.php
+++ b/app/Http/Controllers/Api/V1/ApiTokenController.php
@@ -37,6 +37,8 @@ class ApiTokenController extends Controller
* The response will contain the access token that can be used to send authenticated API requests.
* Please note that the access token is only shown in this response and cannot be retrieved later.
*
+ * @operationId createApiToken
+ *
* @throws AuthorizationException
*/
public function store(ApiTokenStoreRequest $request): ApiTokenWithAccessTokenResource
@@ -53,6 +55,8 @@ class ApiTokenController extends Controller
/**
* Revoke an api token
*
+ * @operationId revokeApiToken
+ *
* @throws AuthorizationException
*/
public function revoke(string $apiTokenId): JsonResponse
@@ -69,6 +73,8 @@ class ApiTokenController extends Controller
/**
* Delete an api token
*
+ * @operationId deleteApiToken
+ *
* @throws AuthorizationException
*/
public function destroy(string $apiTokenId): JsonResponse
diff --git a/resources/js/Components/Common/Invitation/InvitationTableRow.vue b/resources/js/Components/Common/Invitation/InvitationTableRow.vue
index 06e65bb7..7ac253c2 100644
--- a/resources/js/Components/Common/Invitation/InvitationTableRow.vue
+++ b/resources/js/Components/Common/Invitation/InvitationTableRow.vue
@@ -39,7 +39,7 @@ async function resendInvitation() {
await handleApiRequestNotifications(
() =>
api.resendInvitationEmail(
- {},
+ undefined,
{
params: {
invitation: props.invitation.id,
diff --git a/resources/js/Components/Common/Member/MemberTableRow.vue b/resources/js/Components/Common/Member/MemberTableRow.vue
index 1703fd88..3c423a0b 100644
--- a/resources/js/Components/Common/Member/MemberTableRow.vue
+++ b/resources/js/Components/Common/Member/MemberTableRow.vue
@@ -32,7 +32,7 @@ async function invitePlaceholder(id: string) {
await handleApiRequestNotifications(
() =>
api.invitePlaceholder(
- {},
+ undefined,
{
params: {
organization: organizationId,
diff --git a/resources/js/Pages/Profile/Partials/ApiTokensForm.vue b/resources/js/Pages/Profile/Partials/ApiTokensForm.vue
new file mode 100644
index 00000000..2db353be
--- /dev/null
+++ b/resources/js/Pages/Profile/Partials/ApiTokensForm.vue
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+ Create API Token
+
+
+ API tokens allow third-party services to authenticate with our
+ application on your behalf.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Created.
+
+
+
+ Create
+
+
+
+
+
+
+
+
+
+
+ Manage API Tokens
+
+
+ You may delete or revoke any of your existing tokens if they are
+ no longer needed.
+
+
+
+
+
+
+
+
{{ token.name }}
+
+
+ Created on {{ formatDateTimeLocalized(token.created_at) }}
+
+
+ Revoked
+
+
+
+
+
+
+ Last used {{ token.last_used_ago }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ API Token
+
+
+
+ Please copy your new API token. For your security, it won't
+ be shown again.
+
+
+
+
+ {{ copied ? 'Copied!' : 'Copy Token' }}
+
+
+
+
+
+
+ Close
+
+
+
+
+
+
+ Delete API Token
+
+
+ Are you sure you would like to delete this API token?
+
+
+
+
+ Cancel
+
+
+
+ Delete
+
+
+
+
+
+ Revoke API Token
+
+
+ Are you sure you would like to revoke this API token?
+
+
+
+
+ Cancel
+
+
+
+ Revoke
+
+
+
+