Skip to main content

Invitations

Base URL: https://app.neuroflash.com/api/workspace-service

Invite users to join a workspace via email.

Create invites

POST/v1/workspaces/{workspaceId}/invites

Response

FieldTypeDescription
_embeddedobject
acceptingCustomerobject
emailstringEmail of the customer
hadTrialbooleanTrue if the customer has ever started a trial in any workspace
legacyIdintegerID of the customer in the legacy system
namestringName of the customer
inviterobject
emailstringEmail of the customer
hadTrialbooleanTrue if the customer has ever started a trial in any workspace
legacyIdintegerID of the customer in the legacy system
namestringName of the customer
statusstringStripeStatus of the invitation
acceptedAtstringTimestamp when the invitation was accepted
acceptedByLegacyCustomerIdintegerID of the legacy customer who accepted the invitation
acceptedByWorkspaceMemberIdstringID of the workspace member who accepted the invitation
createdAtstring
createdByLegacyCustomerIdintegerID of the legacy customer who created the invitation
createdByUserIdstring
deniedAtstringTimestamp when the invitation was denied by the invitee
emailstringEmail address of the person being invited to the workspace
expiresAtstringTimestamp when the invitation expires
idstring
importedFromLegacyTeamCustomerIdintegerID of the legacy team customer this was imported from
importedFromLegacyTeamInviteIdintegerID of the legacy team invite this was imported from
resentAtarray<string>Timestamps when the invitation was resent
rolestringrole which the new member should be assigned
updatedAtstring
workspaceIdstringID of the workspace the invitation is for

Example

curl -X POST "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/invites" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'

Response:

{
"_embedded": {
"acceptingCustomer": {
"email": "eren.jaeger@neuroflash.com",
"hadTrial": false,
"legacyId": 5,
"name": "Eren Jaeger"
},
"inviter": {
"email": "eren.jaeger@neuroflash.com",
"hadTrial": false,
"legacyId": 5,
"name": "Eren Jaeger"
},
"status": "PENDING"
},
"acceptedAt": "2023-06-15T10:30:00Z",
"acceptedByLegacyCustomerId": 54321,
"acceptedByWorkspaceMemberId": "550e8400-e29b-41d4-a716-446655440001",
"createdAt": "2025-01-14T16:20:59Z",
"createdByLegacyCustomerId": 12345,
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"deniedAt": "2023-05-20T15:45:00Z",
"email": "max.mustermann@neuroflash.com",
"expiresAt": "2023-12-31T23:59:59Z",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyTeamCustomerId": 9876,
"importedFromLegacyTeamInviteId": 7890,
"resentAt": [
"[\"2023-01-01T12:00:00Z\"",
"\"2023-01-02T14:30:00Z\"]"
],
"role": "MEMBER",
"updatedAt": "2025-01-14T16:20:59Z",
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
}

Create denial

POST/v1/workspaces/{workspaceId}/invites/{inviteId}/denial

Example

curl -X POST "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/invites/{invite_id}/denial" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'

Response:

{}

Create emails

POST/v1/workspaces/{workspaceId}/invites/{inviteId}/emails

Response

FieldTypeDescription
_embeddedobject
acceptingCustomerobject
emailstringEmail of the customer
hadTrialbooleanTrue if the customer has ever started a trial in any workspace
legacyIdintegerID of the customer in the legacy system
namestringName of the customer
inviterobject
emailstringEmail of the customer
hadTrialbooleanTrue if the customer has ever started a trial in any workspace
legacyIdintegerID of the customer in the legacy system
namestringName of the customer
statusstringStripeStatus of the invitation
acceptedAtstringTimestamp when the invitation was accepted
acceptedByLegacyCustomerIdintegerID of the legacy customer who accepted the invitation
acceptedByWorkspaceMemberIdstringID of the workspace member who accepted the invitation
createdAtstring
createdByLegacyCustomerIdintegerID of the legacy customer who created the invitation
createdByUserIdstring
deniedAtstringTimestamp when the invitation was denied by the invitee
emailstringEmail address of the person being invited to the workspace
expiresAtstringTimestamp when the invitation expires
idstring
importedFromLegacyTeamCustomerIdintegerID of the legacy team customer this was imported from
importedFromLegacyTeamInviteIdintegerID of the legacy team invite this was imported from
resentAtarray<string>Timestamps when the invitation was resent
rolestringrole which the new member should be assigned
updatedAtstring
workspaceIdstringID of the workspace the invitation is for

Example

curl -X POST "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/invites/{invite_id}/emails" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'

Response:

{
"_embedded": {
"acceptingCustomer": {
"email": "eren.jaeger@neuroflash.com",
"hadTrial": false,
"legacyId": 5,
"name": "Eren Jaeger"
},
"inviter": {
"email": "eren.jaeger@neuroflash.com",
"hadTrial": false,
"legacyId": 5,
"name": "Eren Jaeger"
},
"status": "PENDING"
},
"acceptedAt": "2023-06-15T10:30:00Z",
"acceptedByLegacyCustomerId": 54321,
"acceptedByWorkspaceMemberId": "550e8400-e29b-41d4-a716-446655440001",
"createdAt": "2025-01-14T16:20:59Z",
"createdByLegacyCustomerId": 12345,
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"deniedAt": "2023-05-20T15:45:00Z",
"email": "max.mustermann@neuroflash.com",
"expiresAt": "2023-12-31T23:59:59Z",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyTeamCustomerId": 9876,
"importedFromLegacyTeamInviteId": 7890,
"resentAt": [
"[\"2023-01-01T12:00:00Z\"",
"\"2023-01-02T14:30:00Z\"]"
],
"role": "MEMBER",
"updatedAt": "2025-01-14T16:20:59Z",
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
}

Create confirmation

POST/v1/workspaces/{workspaceId}/invites/{inviteId}/confirmation

Example

curl -X POST "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/invites/{invite_id}/confirmation" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'

Response:

{}

Get invites

GET/v1/workspaces/{workspaceId}/invites

Response

FieldTypeDescription
dataarray<object>
_embeddedobject
acceptingCustomerobject
emailstringEmail of the customer
hadTrialbooleanTrue if the customer has ever started a trial in any workspace
legacyIdintegerID of the customer in the legacy system
namestringName of the customer
inviterobject
emailstringEmail of the customer
hadTrialbooleanTrue if the customer has ever started a trial in any workspace
legacyIdintegerID of the customer in the legacy system
namestringName of the customer
statusstringStripeStatus of the invitation
acceptedAtstringTimestamp when the invitation was accepted
acceptedByLegacyCustomerIdintegerID of the legacy customer who accepted the invitation
acceptedByWorkspaceMemberIdstringID of the workspace member who accepted the invitation
createdAtstring
createdByLegacyCustomerIdintegerID of the legacy customer who created the invitation
createdByUserIdstring
deniedAtstringTimestamp when the invitation was denied by the invitee
emailstringEmail address of the person being invited to the workspace
expiresAtstringTimestamp when the invitation expires
idstring
importedFromLegacyTeamCustomerIdintegerID of the legacy team customer this was imported from
importedFromLegacyTeamInviteIdintegerID of the legacy team invite this was imported from
resentAtarray<string>Timestamps when the invitation was resent
rolestringrole which the new member should be assigned
updatedAtstring
workspaceIdstringID of the workspace the invitation is for
pageobject
currentPageinteger
sizeinteger
totalElementsinteger
totalPagesinteger

Example

curl "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/invites" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response:

{
"data": [
{
"_embedded": {
"acceptingCustomer": {
"email": "...",
"hadTrial": "...",
"legacyId": "...",
"name": "..."
},
"inviter": {
"email": "...",
"hadTrial": "...",
"legacyId": "...",
"name": "..."
},
"status": "PENDING"
},
"acceptedAt": "2023-06-15T10:30:00Z",
"acceptedByLegacyCustomerId": 54321,
"acceptedByWorkspaceMemberId": "550e8400-e29b-41d4-a716-446655440001",
"createdAt": "2025-01-14T16:20:59Z",
"createdByLegacyCustomerId": 12345,
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"deniedAt": "2023-05-20T15:45:00Z",
"email": "max.mustermann@neuroflash.com",
"expiresAt": "2023-12-31T23:59:59Z",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyTeamCustomerId": 9876,
"importedFromLegacyTeamInviteId": 7890,
"resentAt": [
"[\"2023-01-01T12:00:00Z\"",
"\"2023-01-02T14:30:00Z\"]"
],
"role": "MEMBER",
"updatedAt": "2025-01-14T16:20:59Z",
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
}
],
"page": {
"currentPage": 2,
"size": 10,
"totalElements": 35,
"totalPages": 4
}
}

Get

GET/v1/workspaces/{workspaceId}/invites/{inviteId}

Response

FieldTypeDescription
_embeddedobject
acceptingCustomerobject
emailstringEmail of the customer
hadTrialbooleanTrue if the customer has ever started a trial in any workspace
legacyIdintegerID of the customer in the legacy system
namestringName of the customer
inviterobject
emailstringEmail of the customer
hadTrialbooleanTrue if the customer has ever started a trial in any workspace
legacyIdintegerID of the customer in the legacy system
namestringName of the customer
statusstringStripeStatus of the invitation
acceptedAtstringTimestamp when the invitation was accepted
acceptedByLegacyCustomerIdintegerID of the legacy customer who accepted the invitation
acceptedByWorkspaceMemberIdstringID of the workspace member who accepted the invitation
createdAtstring
createdByLegacyCustomerIdintegerID of the legacy customer who created the invitation
createdByUserIdstring
deniedAtstringTimestamp when the invitation was denied by the invitee
emailstringEmail address of the person being invited to the workspace
expiresAtstringTimestamp when the invitation expires
idstring
importedFromLegacyTeamCustomerIdintegerID of the legacy team customer this was imported from
importedFromLegacyTeamInviteIdintegerID of the legacy team invite this was imported from
resentAtarray<string>Timestamps when the invitation was resent
rolestringrole which the new member should be assigned
updatedAtstring
workspaceIdstringID of the workspace the invitation is for

Example

curl "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/invites/{invite_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response:

{
"_embedded": {
"acceptingCustomer": {
"email": "eren.jaeger@neuroflash.com",
"hadTrial": false,
"legacyId": 5,
"name": "Eren Jaeger"
},
"inviter": {
"email": "eren.jaeger@neuroflash.com",
"hadTrial": false,
"legacyId": 5,
"name": "Eren Jaeger"
},
"status": "PENDING"
},
"acceptedAt": "2023-06-15T10:30:00Z",
"acceptedByLegacyCustomerId": 54321,
"acceptedByWorkspaceMemberId": "550e8400-e29b-41d4-a716-446655440001",
"createdAt": "2025-01-14T16:20:59Z",
"createdByLegacyCustomerId": 12345,
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"deniedAt": "2023-05-20T15:45:00Z",
"email": "max.mustermann@neuroflash.com",
"expiresAt": "2023-12-31T23:59:59Z",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyTeamCustomerId": 9876,
"importedFromLegacyTeamInviteId": 7890,
"resentAt": [
"[\"2023-01-01T12:00:00Z\"",
"\"2023-01-02T14:30:00Z\"]"
],
"role": "MEMBER",
"updatedAt": "2025-01-14T16:20:59Z",
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
}

Delete

DELETE/v1/workspaces/{workspaceId}/invites/{inviteId}

Example

curl -X DELETE "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/invites/{invite_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response:

{}