Skip to content

Transferring a Prospect ​

When a prospect exists within a club chain, they are initially tied to their original club. The following documentation explains the prospect migration process, which enables controlled mobility of prospects within a chain of clubs.

Migration Overview ​

Since a prospect record belongs to Club A, if the same prospect wishes to transfer to Club B, a migration process must be initiated. From the prospect's point of view, the process involves:

  • Initiating a migration request
  • Receiving a confirmation code via SMS
  • Entering the confirmation code to complete the transfer

Initiating the Migration ​

The prospect migration process begins by sending an SMS to the contact. This SMS contains a confirmation code required in the next step.

POST /{clientToken}/contact_migration_requests ​

ParameterDescriptionExample
clubIdIRI of the destination club/{clientToken}/clubs/1
contactIdIRI of the prospect to be migrated/{clientToken}/contacts/12345

Example ​

POST /{clientToken}/contact_migration_requests

Body

json
{
  "clubId": "/{clientToken}/clubs/1",
  "contactId": "/{clientToken}/contacts/12345"
}

Response 201 Created

json5
{  
   "@context":"/clientToken/contexts/SignatureRequest",
   "@id":"/clientToken/signature_requests/455434",        <-------- Migration identifier
   "@type":"SignatureRequest",
  // ...
}

Completing the Migration Process ​

Once the SMS has been received, the application handling the migration must collect the code from the targeted contact and finalize the process by validating the code.

POST /{clientToken}/signature_requests/{signatureRequestId}/transitions ​

ParameterDescriptionExample
signatureRequestIdID of the previously created signature process3451
transitionDesired transition type. Possible values are validate or cancelvalidate
codeValidation code received by SMS1234

Example ​

POST /{clientToken}/signature_requests/3451/transitions

Body

json
{
  "transition": "validate",
  "code": "1234"
}

Response 201 Created

Referenced Errors ​

400 : Bad Request Resource "/{clientToken}/contacts/{id}" does not exist. ​

This error is related to the data-sharing configuration between clubs within a chain.
You are currently operating on behalf of a club that does not have the rights to access the contact record targeted for migration.

Solution: If you are authenticated using client_credentials and providing node headers, operate from a higher-level node than the club's node.


400 : Bad Request api.error.contact.migration.club-not-valid ​

The target club is not valid. This typically occurs when you attempt to migrate the contact to their current club.

Solution: Review and correct the target club.


400 : Bad Request api.error.contact.migration.contact-not-valid ​

The contact is not eligible for transfer. This happens when the contact's status is neither prospect nor former member.

Solution: Review and update the contact being migrated.