Memberships

A Membership represents a membership belonging to one or more Customers.

Schema

Attributes

  • The ID of the membership

  • The ID of the site this membership belongs to

  • The unique membership number of the lead member. This is always a 10 digit numeric string. Since this field only relates to the lead member, this is now deprecated. Instead, find the membership for the relevant customer in the members array.

  • Possible values are active, needs_dd_mandate, needs_attention, reserved, inactive, expired and upcoming

  • Where the membership was created

    Possible values are self_signup, app, import and unknown

  • Details about the payment method attached to this membership. This payment method is used to take payment on the monthly billing period. If a payment method hasn't been set up, this will be null.

  • The date which the membership starts

  • The date which the membership ends

  • The datetime which the membership was created

  • The basket ID which was used to purchase this membership, if applicable.

  • An external reference for this membership.

  • The date which the membership will next be billed

  • next_charge
    Nullable

    A summary of the next charge that's due for this membership.

    This property is only populated when the membership was retrieved using the `getCustomerMemberships endpoint.

  • A string describing what kind of action needs to take place

    Possible values are no_mandate, setup_unpaid, mandate_revoked, payment_failed, payment_disputed, payment_outstanding and site_id

""
listMemberships

List Memberships

This endpoint lists the Memberships which are associated to the provided site.

Query parameters

  • Filters memberships belonging to the specified customer

  • page
    Optional

    The page to retrieve results from

  • per_page
    Optional

    The number of results to return per page

Responses

  • 200

    The Memberships were successfully retrieved

GET/customers/memberships
200
example response
{
  "data": [
    {
      "membership_number": "1234567890",
      "rate": {
        "id": "56dd209c-b288-74b5-7626-7b657b2a3ec3",
        "membership_type_id": "dfa8bc01-c4ec-fdfb-f9e3-26f4e2cc2d71",
        "name": "Standard rate",
        "currency": "GBP",
        "price": 5000,
        "joining_fee": 1000,
        "tax": 1250
      },
      "status": "expired",
      "payment_method": {
        "id": "laborum minim",
        "last_4": "consectetur",
        "status": "revoked",
        "card_brand": "amex"
      },
      "start_date": "1896-01-08T16:29:44.0Z",
      "end_date": "1951-02-27T15:05:41.0Z",
      "external_ref": "do",
      "next_billing_date": "1913-07-30T15:26:34.0Z",
      "next_charge": {
        "id": "3660bf57-59e5-e9d9-8fa5-91fa31693a41",
        "amount": 3995,
        "currency": "GBP",
        "status": "pending",
        "billing_period_from": "1968-11-09",
        "billing_period_to": "1925-01-28"
      },
      "attention_reason": "setup_unpaid"
    },
    {
      "site_id": "266601aa-718c-4371-2136-532c3844f417",
      "customer": {
        "id": "a830367f-6cb5-3b41-506d-565ec4aea53e",
        "first_name": "Jane",
        "last_name": "Doe",
        "full_name": "Jane Doe",
        "phone": "+447900000000",
        "has_password": true,
        "dob": "1912-06-02",
        "brand_id": "2109e430-0e75-5439-6f21-bc33a6e6b9a3",
        "site_id": "b59102c6-f722-2f19-08e4-84865ad84ecd",
        "stripe_id": "cus_1234567890",
        "express_stripe_id": "cus_1234567890",
        "email": "janedoe@example.com",
        "labels": [
          {
            "id": "1543d8ae-e233-4f59-1635-28fd1603a8c3",
            "name": "VIP",
            "color": "ff6634"
          },
          {
            "id": "8075c54e-74d4-ad28-30b2-cb026122e3ea",
            "name": "VIP",
            "color": "ff6634"
          }
        ],
        "preferred_locale": "en",
        "locked_at": "1917-11-13T05:58:26.0Z",
        "created_at": "1945-06-13T16:06:43.0Z",
        "updated_at": "1899-12-24T21:24:35.0Z",
        "deleted_at": "1910-07-01T21:52:24.0Z",
        "last_active_at": "1906-05-04T21:41:16.0Z",
        "email_verified_at": "1895-06-07T07:30:31.0Z",
        "last_check_in": {
          "checked_in_at": "1943-06-30T18:45:12.0Z",
          "method": "Scanned"
        },
        "avatar_id": "000000-000000-000000-000000",
        "avatar": {
          "id": "f1c8e270-a2d8-0787-3f1e-c457c71a2696",
          "file_name": "super-cool-photo.jpg",
          "mime_type": "image/jpeg",
          "size": 84256,
          "url": "https://example.com/media/super-cool-photo.jpg"
        },
        "external_ref": "officia"
      },
      "members": [
        {
          "customer_id": "43f8337f-aefa-f86f-1233-c5a43c1bd35e",
          "membership_number": "1234567890",
          "is_lead": true
        },
        {
          "customer_id": "a7037557-ef83-3201-c8c5-156d3576878c",
          "is_lead": true
        }
      ],
      "type": {
        "id": "d795e49d-6d41-a3de-d730-5fb52677a48b",
        "name": "Gold tier",
        "description": "Enjoy exclusive benefits as part of being a member in our Gold tier",
        "terms": "labore",
        "brand_id": "a2db3c6f-d980-3b54-f444-735da1472969",
        "offline_payments": true,
        "disable_confirmation_email": true,
        "private": true,
        "visibility": "link_only",
        "minimum_start_date": "1898-01-10T21:32:04.0Z",
        "min_members": 2,
        "max_members": 4,
        "rates": [
          {
            "id": "93dc3f96-5b8e-e636-71a2-142987602700",
            "membership_type_id": "1e083c95-e634-0fda-e70f-d1b04c9f9f0f",
            "name": "Standard rate",
            "currency": "GBP",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "billing_frequency": "P1M",
            "processors": [],
            "default_duration": "P1Y",
            "private": true,
            "updated_at": "1952-07-25T18:04:24.0Z"
          },
          {
            "id": "8b0cfd93-ed9a-e2b6-553b-3a3fb2e3f718",
            "membership_type_id": "b47b8594-0f38-299f-f5a7-80344319de13",
            "name": "Standard rate",
            "currency": "GBP",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "billing_frequency": "P1M",
            "processors": [
              "commodo ad",
              "eiusmod et laboris consequat irure",
              "ut aliqua magna labore",
              "quis Excepteur aliquip proident id"
            ],
            "default_duration": "P1Y",
            "private": true,
            "created_at": "1958-07-13T05:48:06.0Z",
            "updated_at": "1899-09-11T19:25:07.0Z"
          },
          {
            "membership_type_id": "22f7334d-855c-42fa-badd-5e6dc42ff993",
            "name": "Standard rate",
            "price": 5000,
            "default_duration": "P1Y",
            "created_at": "1946-08-21T06:43:14.0Z"
          },
          {
            "id": "708bbb1c-6391-a7bc-73d9-8ef80df5c14f",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "billing_frequency": "P1M",
            "processors": [
              "anim amet Duis",
              "consequat in",
              "deserunt sed non",
              "fugiat"
            ],
            "default_duration": "P1Y"
          },
          {
            "id": "6412320a-4058-fce1-8551-e071ebff3c3b"
          }
        ],
        "revenue_schedule": "FREQ=WEEKLY",
        "created_at": "1909-05-21T01:48:46.0Z",
        "updated_at": "1926-08-28T04:06:33.0Z",
        "deleted_at": "1945-07-15T01:58:53.0Z"
      },
      "rate": {
        "id": "876048fa-078a-4316-1b8b-08d47eae6cf9",
        "membership_type_id": "eb692349-a606-afbe-c175-54cb359e52b0",
        "name": "Standard rate",
        "currency": "GBP",
        "price": 5000,
        "joining_fee": 1000,
        "tax": 1250,
        "billing_frequency": "P1M",
        "default_duration": "P1Y",
        "created_at": "1943-06-07T05:29:55.0Z"
      },
      "source": "import",
      "payment_method": {
        "id": "et laborum culpa magna eu",
        "type": "direct_debit",
        "last_4": "ullamco eiusmod laborum aliquip",
        "status": "revoked"
      },
      "created_at": "1939-04-22T18:21:53.0Z",
      "external_ref": "aute pariatur",
      "next_billing_date": "1966-12-23T17:25:44.0Z",
      "next_charge": {
        "id": "17a38731-8c83-34df-abbc-1158fd8502e0",
        "amount": 3995,
        "currency": "GBP",
        "status": "errored",
        "billing_period_from": "1892-01-02",
        "billing_period_to": "1940-06-02"
      },
      "attention_reason": "payment_disputed"
    }
  ],
  "meta": {
    "from": 1,
    "to": 2,
    "total": 2,
    "current_page": 1,
    "last_page": 2,
    "per_page": 15,
    "path": "http://example.com/api"
  },
  "links": {
    "first": "http://example.com?page=1",
    "next": "https://example.com?page=3",
    "prev": "https://example.com?page=1",
    "last": "https://example.com?page=4"
  }
}
getMembership

Show a membership

Use this endpoint to retrieve a Membership by its ID.

Path parameters

Responses

  • 200

    The Membership was successfully retrieved

  • 404

    The resource couldn't be found

GET/customers/memberships/{membershipId}
200
example response
{
  "data": {
    "id": "aa743284-fb7e-d7ff-919a-74db23b411b2",
    "site_id": "f51f8b63-81b8-12ab-1be7-50869b06944b",
    "membership_number": "1234567890",
    "customer": {
      "id": "155a6c84-df76-e826-4e94-0002631cb280",
      "first_name": "Jane",
      "last_name": "Doe",
      "full_name": "Jane Doe",
      "phone": "+447900000000",
      "has_password": true,
      "dob": "1961-03-02",
      "brand_id": "6fa102dd-1475-9228-374a-45eadd74b6cb",
      "site_id": "acb0face-a364-be35-d30f-65a1fc091969",
      "stripe_id": "cus_1234567890",
      "express_stripe_id": "cus_1234567890",
      "email": "janedoe@example.com",
      "labels": [],
      "preferred_locale": "en",
      "locked_at": "1929-03-03T20:36:07.0Z",
      "created_at": "1945-02-23T01:38:29.0Z",
      "updated_at": "1961-08-03T03:54:18.0Z",
      "deleted_at": "1965-02-17T16:32:41.0Z",
      "last_active_at": "1951-09-25T19:40:56.0Z",
      "email_verified_at": "1918-07-23T02:32:55.0Z",
      "last_check_in": {
        "checked_in_at": "1909-09-08T09:28:30.0Z",
        "method": "Scanned"
      },
      "avatar_id": "000000-000000-000000-000000",
      "avatar": {
        "id": "732d6694-52cd-9e93-6a21-e78a12bec577",
        "file_name": "super-cool-photo.jpg",
        "mime_type": "image/jpeg",
        "size": 84256,
        "url": "https://example.com/media/super-cool-photo.jpg"
      },
      "external_ref": "ad in labore aliqua"
    },
    "members": [],
    "status": "active",
    "payment_method": {
      "id": "Duis ipsum",
      "type": "card",
      "last_4": "occaecat",
      "card_brand": "amex"
    },
    "end_date": "1914-07-26T03:57:56.0Z",
    "external_ref": "Excepteur nisi enim eiusmod",
    "next_billing_date": "1931-10-12T10:11:32.0Z",
    "next_charge": {
      "id": "a447cc10-be19-2364-b228-8fda494a2b6b",
      "amount": 3995,
      "currency": "GBP",
      "status": "processing",
      "billing_period_from": "1948-10-16",
      "billing_period_to": "1920-06-29"
    }
  }
}
404
example response
{
  "message": "The requested resource could not be found"
}
actionAddMembershipChargePayment

Record a manual payment against a charge

This endpoint allows a manual (off-Trybe) payment to be recorded against a membership charge.

Path parameters

Request body

  • The ID of the custom payment type this payment should be recorded as

  • amount
    Required

    The amount of the payment

Responses

  • 200

    A charge against a membership.

  • 404

    The resource couldn't be found

POST/shop/membership-charges/{chargeId}/payment
200
example response
{
  "data": {
    "id": "7e0093ce-6b51-d1ed-c3d0-2f8da7b9190f",
    "membership": {
      "id": "c8459303-038b-2ded-7ebe-78663a5cbd79",
      "membership_number": "00000014",
      "type_name": "Gold Membership",
      "customer_id": "52a04a36-c8ec-abec-d845-3a7ff7477306",
      "customer_name": "Jane Jones"
    },
    "processor": "adyen",
    "processor_data": {
      "cardholder_name": "Mrs J Jones",
      "last_4": 4001,
      "processor_type": "Cash",
      "processor_type_id": "69300135926b41011f00008a"
    },
    "amount": 3995,
    "original_amount": 3995,
    "currency": "gbp",
    "tax": 1000,
    "status": "succeeded",
    "description": "adipisicing et est Excepteur",
    "can_download_receipt": true,
    "amount_refunded": "laborum consectetur exercitation ut velit",
    "refunded": "enim minim ipsum consequat",
    "refunds": [
      {
        "id": "18f80a88-65d4-85e7-338b-9c8078fe80f9",
        "status": "succeeded",
        "amount": 995,
        "currency": "gbp",
        "notes": "Gesture of good will",
        "failure_reason": "invalid_details",
        "refunded_by": {
          "id": "7addf2b6-60d4-5c32-2df8-fc8c5c5d377d",
          "full_name": "Jane Jenkins"
        },
        "processor_data": {
          "processor": "adyen",
          "processor_id": "re_64301e0b2df9d11814010ea6"
        },
        "created_at": "1891-07-25T19:45:50.0Z",
        "updated_at": "1927-06-06T07:16:34.0Z"
      }
    ],
    "site_id": "5c580034-e086-ea33-b73a-4b993bc3724a",
    "billing_period_from": "1956-07-29",
    "billing_period_to": "1890-04-25",
    "processing_at": "1928-05-27T11:07:10.0Z",
    "created_at": "1926-08-08T20:43:45.0Z",
    "updated_at": "1903-02-13T13:50:05.0Z"
  }
}
404
example response
{
  "message": "The requested resource could not be found"
}
actionProcessMembershipCharge

Manually process a charge for a membership

This endpoint allows a membership charge to be processed manually.

Path parameters

Responses

  • 200

    A charge against a membership.

  • 404

    The resource couldn't be found

POST/shop/membership-charges/{chargeId}/process
200
example response
{
  "data": {
    "id": "89771faf-185b-ec19-b4ae-2c18698a2798",
    "membership": {
      "id": "919810db-3847-9b9a-860c-275af74df6a8",
      "membership_number": "00000014",
      "type_name": "Gold Membership",
      "customer_id": "08fdd68a-a03c-26a0-da44-edc71d5e03e5"
    },
    "processor": "adyen",
    "processor_data": {
      "cardholder_name": "Mrs J Jones",
      "last_4": 4001,
      "processor_type": "Cash",
      "processor_type_id": "69300135926b41011f00008b"
    },
    "amount": 3995,
    "original_amount": 3995,
    "currency": "gbp",
    "tax": 1000,
    "status": "succeeded",
    "description": "do",
    "can_download_receipt": true,
    "amount_refunded": "magna aute",
    "refunded": "qui non exercitation",
    "refunds": [],
    "site_id": "047f5ebf-21a1-0829-4f58-5b6d812f4272",
    "billing_period_from": "1942-01-27",
    "billing_period_to": "1954-02-17",
    "processing_at": "1939-04-18T07:17:52.0Z",
    "created_at": "1918-07-25T18:03:06.0Z",
    "updated_at": "1933-05-08T21:59:12.0Z"
  }
}
404
example response
{
  "message": "The requested resource could not be found"
}
actionRetryMembershipCharge

Manually retry a charge for a membership

This endpoint allows a membership charge to be retried manually.

Path parameters

Responses

  • 200

    A charge against a membership.

  • 404

    The resource couldn't be found

POST/shop/membership-charges/{chargeId}/retry
200
example response
{
  "data": {
    "id": "1f44e46c-a6da-3a61-3737-81a447206f17",
    "membership": {
      "id": "5f49aeac-8d5a-4a63-383b-2ab71efa4808",
      "membership_number": "00000014",
      "type_name": "Gold Membership",
      "customer_id": "837ebf1c-4459-d653-d4c6-c80fb8fd717e",
      "customer_name": "Jane Jones"
    },
    "processor": "adyen",
    "processor_data": {
      "cardholder_name": "Mrs J Jones",
      "last_4": 4001,
      "processor_type": "Cash",
      "processor_type_id": "69300135926b41011f00008c"
    },
    "amount": 3995,
    "original_amount": 3995,
    "currency": "gbp",
    "tax": 1000,
    "status": "succeeded",
    "description": "ut do irure aute nostrud",
    "can_download_receipt": true,
    "amount_refunded": "nulla anim exercitation ullamco culpa",
    "refunded": "esse amet",
    "refunds": [
      {
        "id": "742782e2-531c-01e9-c1df-d829c48fa5fb",
        "status": "succeeded",
        "amount": 995,
        "currency": "gbp",
        "notes": "Gesture of good will",
        "failure_reason": "invalid_details",
        "refunded_by": {
          "id": "c70e9f3f-3533-bbe8-c7e5-3beb493cfed9",
          "full_name": "Jane Jenkins"
        },
        "processor_data": {
          "processor": "adyen",
          "processor_id": "re_64301e0b2df9d11814010ea6"
        },
        "created_at": "1906-02-21T16:21:02.0Z",
        "updated_at": "1945-02-17T03:47:38.0Z"
      },
      {
        "id": "f9c363b2-8616-ac9b-5c2b-deddac9f2973",
        "status": "succeeded",
        "amount": 995,
        "currency": "gbp",
        "notes": "Gesture of good will",
        "failure_reason": "invalid_details",
        "refunded_by": {
          "id": "35f69fc5-3330-1082-3193-564609b2f72c",
          "full_name": "Jane Jenkins"
        },
        "processor_data": {
          "processor": "adyen",
          "processor_id": "re_64301e0b2df9d11814010ea6"
        },
        "created_at": "1930-07-04T02:44:57.0Z",
        "updated_at": "1933-11-13T23:12:04.0Z"
      },
      {
        "id": "face86a3-fec3-0f29-0bcc-37714a1261ac",
        "status": "succeeded",
        "amount": 995,
        "currency": "gbp",
        "notes": "Gesture of good will",
        "failure_reason": "invalid_details",
        "processor_data": {
          "processor": "adyen",
          "processor_id": "re_64301e0b2df9d11814010ea6"
        },
        "created_at": "1917-02-07T13:53:11.0Z",
        "updated_at": "1895-07-31T15:19:47.0Z"
      },
      {
        "id": "33d9ff21-7c28-c031-2938-a70398cdb2d9",
        "status": "succeeded",
        "amount": 995,
        "currency": "gbp",
        "notes": "Gesture of good will",
        "failure_reason": "invalid_details",
        "refunded_by": {
          "id": "a58628d5-c4d0-2d0e-9ae2-bde680ceb8ad",
          "full_name": "Jane Jenkins"
        },
        "processor_data": {
          "processor": "adyen",
          "processor_id": "re_64301e0b2df9d11814010ea6"
        },
        "created_at": "1913-10-10T07:25:32.0Z",
        "updated_at": "1938-11-20T01:55:16.0Z"
      }
    ],
    "site_id": "ba30ff74-1676-737d-1e67-afda1de78087",
    "billing_period_from": "1895-11-29",
    "billing_period_to": "1934-09-18",
    "processing_at": "1898-05-02T01:32:24.0Z",
    "created_at": "1914-11-29T13:14:34.0Z",
    "updated_at": "1895-02-05T08:41:39.0Z"
  }
}
404
example response
{
  "message": "The requested resource could not be found"
}