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:

{}