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": [
    {
      "id": "e5cc5182-99b7-cb82-e886-621a09f36af2",
      "site_id": "e2ba2de8-8e05-512b-7718-1b6e7dda0441",
      "membership_number": "1234567890",
      "customer": {
        "id": "d4199480-943d-ead0-2ca6-4a9b73acb40a",
        "first_name": "Jane",
        "last_name": "Doe",
        "full_name": "Jane Doe",
        "phone": "+447900000000",
        "has_password": true,
        "dob": "1908-05-23",
        "brand_id": "32a8f631-9b25-0a6f-5417-54a2a83e33ea",
        "site_id": "6ffb4d35-0498-6ba1-2990-3cce814fa26c",
        "stripe_id": "cus_1234567890",
        "express_stripe_id": "cus_1234567890",
        "email": "janedoe@example.com",
        "labels": [
          {
            "id": "6acafc11-5510-7a65-4375-c28f88819131",
            "value": "VIP",
            "colour": "ff6634"
          }
        ],
        "preferred_locale": "en",
        "locked_at": "1954-02-18T23:06:38.0Z",
        "created_at": "1895-02-04T07:59:37.0Z",
        "updated_at": "1941-07-01T01:04:06.0Z",
        "deleted_at": "1935-04-18T07:50:53.0Z",
        "last_active_at": "1907-04-11T13:58:21.0Z",
        "email_verified_at": "1922-03-05T09:53:03.0Z",
        "last_check_in": {
          "checked_in_at": "1950-05-28T08:07:18.0Z",
          "method": "Scanned"
        },
        "avatar_id": "000000-000000-000000-000000",
        "avatar": {
          "id": "b5c2e66a-4e6f-559e-6891-0cbd38a3ad11",
          "file_name": "super-cool-photo.jpg",
          "mime_type": "image/jpeg",
          "size": 84256,
          "url": "https://example.com/media/super-cool-photo.jpg"
        },
        "external_ref": "et cillum"
      },
      "members": [
        {
          "customer_id": "ece9e346-f43b-9583-f407-4aec7aca2d35",
          "membership_number": "1234567890",
          "is_lead": true
        },
        {
          "customer_id": "8ff438cd-5f33-5fc5-1369-66be926e3bbc",
          "membership_number": "1234567890"
        },
        {
          "customer_id": "2fbbf899-e282-ac46-9946-b7ddeda196b0",
          "membership_number": "1234567890",
          "is_lead": true
        },
        {
          "membership_number": "1234567890",
          "is_lead": false
        },
        {
          "customer_id": "b85e0420-1d27-822b-7ce5-b6d3966d825b",
          "membership_number": "1234567890",
          "is_lead": true
        }
      ],
      "type": {
        "id": "064f5839-a368-3e75-c654-71d4a6fa248c",
        "name": "Gold tier",
        "description": "Enjoy exclusive benefits as part of being a member in our Gold tier",
        "terms": "officia esse minim in",
        "brand_id": "db9a3340-e519-975d-89e8-9193e06ca022",
        "offline_payments": false,
        "disable_confirmation_email": false,
        "private": true,
        "visibility": "public",
        "minimum_start_date": "1953-02-17T21:16:42.0Z",
        "min_members": 2,
        "max_members": 4,
        "rates": [
          {
            "id": "dea436eb-198e-707b-a646-caaf538cd64c",
            "membership_type_id": "81dc5e1f-0e12-a2b6-fe87-f8c9bd25ac33",
            "name": "Standard rate",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "billing_frequency": "P1M",
            "processors": [
              "adipisicing non nulla"
            ],
            "default_duration": "P1Y",
            "private": true,
            "created_at": "1924-02-09T05:23:41.0Z",
            "updated_at": "1898-07-23T12:29:38.0Z"
          },
          {
            "id": "da76f50f-d87a-b7ea-8f73-c0a4a3c093f3",
            "membership_type_id": "fef2b2cc-80f0-84ad-e944-19b33cf5d70c",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "default_duration": "P1Y"
          },
          {
            "id": "ff2d3509-41a1-5e39-f357-f4b382879f5a",
            "membership_type_id": "6f76b473-43d1-c052-c91d-ee62f350b06b",
            "name": "Standard rate",
            "currency": "GBP",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "billing_frequency": "P1M",
            "processors": [],
            "default_duration": "P1Y",
            "private": true,
            "created_at": "1897-04-09T06:37:58.0Z"
          },
          {
            "id": "ca997df1-43b2-fc0f-623d-b82c54d9ef73",
            "membership_type_id": "b1f1190c-7496-1838-21e8-360ce6bde4d4",
            "name": "Standard rate",
            "currency": "GBP",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "billing_frequency": "P1M",
            "processors": [
              "veniam aliqua Excepteur sunt enim",
              "nostrud velit anim commodo consequat",
              "do sint",
              "adipisicing Ut magna",
              "ad id veniam dolor nostrud"
            ],
            "private": true,
            "created_at": "1904-12-23T12:33:40.0Z",
            "updated_at": "1937-03-20T11:43:16.0Z"
          },
          {
            "id": "a7e73f1a-0e45-f0e6-14a4-69eaa05b39a0",
            "membership_type_id": "6c04b03f-b53f-b3b7-49a5-9ca957198b90",
            "name": "Standard rate",
            "currency": "GBP",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "billing_frequency": "P1M",
            "processors": [
              "amet nisi ea quis",
              "et",
              "pariatur exercitation qui non nisi",
              "aliqua id nostrud Excepteur enim",
              "dolor officia laboris proident"
            ],
            "default_duration": "P1Y",
            "created_at": "1955-03-13T12:16:50.0Z",
            "updated_at": "1936-12-14T06:11:40.0Z"
          }
        ],
        "revenue_schedule": "FREQ=WEEKLY",
        "created_at": "1936-10-12T10:52:20.0Z",
        "updated_at": "1911-03-20T10:11:07.0Z",
        "deleted_at": "1941-12-03T04:09:14.0Z"
      },
      "rate": {
        "id": "5902b2eb-f1a6-f6e1-afa3-6205462cd246",
        "membership_type_id": "c47f7c79-1599-e705-084b-bfb3bd1839bc",
        "name": "Standard rate",
        "price": 5000,
        "joining_fee": 1000,
        "tax": 1250,
        "billing_frequency": "P1M",
        "processors": [],
        "default_duration": "P1Y",
        "private": true,
        "updated_at": "1903-02-17T22:59:22.0Z"
      },
      "status": "active",
      "source": "self_signup",
      "payment_method": {
        "id": "exercitation magna et in eiusmod",
        "type": "direct_debit",
        "status": "revoked",
        "card_brand": "amex"
      }
    },
    {
      "id": "30a14482-d10d-63c0-0b1d-80a198cf4c98",
      "membership_number": "1234567890",
      "customer": {
        "id": "6ac3a5e0-0bba-1906-2217-118c9280f231",
        "first_name": "Jane",
        "last_name": "Doe",
        "full_name": "Jane Doe",
        "phone": "+447900000000",
        "has_password": true,
        "dob": "1901-08-24",
        "brand_id": "bfc97413-229f-eccd-b9fd-3a2cd9834fbc",
        "site_id": "b1624bf3-55c7-d3f1-6769-fbcc0c2ac5b7",
        "stripe_id": "cus_1234567890",
        "express_stripe_id": "cus_1234567890",
        "email": "janedoe@example.com",
        "labels": [
          {
            "id": "ed6b747e-55fa-25a7-be5c-5ee87b4ffe75",
            "value": "VIP",
            "colour": "ff6634"
          },
          {
            "id": "c07b306a-2dde-10c1-31df-95d417b81a70",
            "value": "VIP",
            "colour": "ff6634"
          },
          {
            "id": "8dfd9959-9e11-f3a4-ba4a-3a9f897bf832",
            "value": "VIP",
            "colour": "ff6634"
          },
          {
            "id": "a4de9ba8-697f-facb-aef4-e933ce0fd2df",
            "value": "VIP",
            "colour": "ff6634"
          }
        ],
        "preferred_locale": "en",
        "locked_at": "1965-05-11T19:49:13.0Z",
        "created_at": "1899-02-08T09:07:28.0Z",
        "updated_at": "1962-09-18T10:41:20.0Z",
        "deleted_at": "1944-05-12T01:11:44.0Z",
        "last_active_at": "1904-07-27T07:41:26.0Z",
        "email_verified_at": "1963-08-03T06:42:48.0Z",
        "last_check_in": {
          "checked_in_at": "1941-03-12T17:28:55.0Z",
          "method": "Scanned"
        },
        "avatar_id": "000000-000000-000000-000000",
        "avatar": {
          "id": "70ec4a73-1db0-3fb4-03ff-592e988ee886",
          "file_name": "super-cool-photo.jpg",
          "mime_type": "image/jpeg",
          "size": 84256,
          "url": "https://example.com/media/super-cool-photo.jpg"
        },
        "external_ref": "irure sint labore"
      },
      "members": [
        {
          "customer_id": "62086904-b6c0-c545-5a95-5a861b46abe0"
        },
        {
          "customer_id": "594c33a9-f95f-c457-5127-9e6470339f0b",
          "membership_number": "1234567890",
          "is_lead": true
        }
      ],
      "type": {
        "id": "6a481775-2fdc-4b96-594c-e09f875457d6",
        "name": "Gold tier",
        "description": "Enjoy exclusive benefits as part of being a member in our Gold tier",
        "terms": "nulla dolor",
        "brand_id": "ff59599d-c971-9cb8-edf4-8cf8b5cfc46a",
        "offline_payments": true,
        "disable_confirmation_email": false,
        "private": true,
        "visibility": "link_only",
        "minimum_start_date": "1943-05-26T15:25:44.0Z",
        "min_members": 2,
        "max_members": 4,
        "rates": [
          {
            "id": "dbc723c4-a4da-14e3-bdde-0de1d91f242b",
            "currency": "GBP",
            "tax": 1250,
            "billing_frequency": "P1M",
            "processors": [
              "ex fugiat quis in"
            ],
            "default_duration": "P1Y",
            "created_at": "1918-01-02T21:17:02.0Z"
          },
          {
            "id": "d7ce571a-141b-13ab-5603-5b58c90e1aee",
            "membership_type_id": "99e1827f-524a-372b-c640-ccc446a56a16",
            "name": "Standard rate",
            "currency": "GBP",
            "processors": [
              "consectetur Ut occaecat",
              "fugiat laborum",
              "do culpa cillum",
              "exercitation nisi enim consectetur quis",
              "pariatur"
            ],
            "private": true,
            "created_at": "1948-02-19T04:17:24.0Z",
            "updated_at": "1890-06-09T19:11:01.0Z"
          },
          {
            "id": "e3b6f460-c21c-5ff0-6da8-4b1734323f42",
            "membership_type_id": "722020b6-790e-7f6e-56c3-3da0c8df3a93",
            "name": "Standard rate",
            "currency": "GBP",
            "price": 5000,
            "joining_fee": 1000,
            "tax": 1250,
            "default_duration": "P1Y",
            "private": true,
            "created_at": "1927-05-18T20:58:14.0Z"
          }
        ],
        "revenue_schedule": "FREQ=WEEKLY",
        "created_at": "1952-09-20T17:26:36.0Z",
        "updated_at": "1946-04-30T08:03:30.0Z",
        "deleted_at": "1917-01-15T02:40:34.0Z"
      },
      "rate": {
        "id": "5e6379bd-0b20-b158-9716-a59e72f6bd79",
        "membership_type_id": "c4dc27d9-ffdc-7c38-fc53-afb3e38d4a3a",
        "currency": "GBP",
        "tax": 1250,
        "processors": [
          "dolor aliqua"
        ],
        "default_duration": "P1Y",
        "private": true
      },
      "status": "reserved",
      "start_date": "1897-05-04T09:40:14.0Z",
      "end_date": "1942-07-02T16:23:06.0Z",
      "basket_id": "6787efea3313ef018e000071",
      "external_ref": "occaecat",
      "next_charge": {
        "id": "9f3a5852-8629-258c-dd07-b1e01c49e67e",
        "amount": 3995,
        "currency": "GBP",
        "status": "errored",
        "billing_period_from": "1954-02-16",
        "billing_period_to": "1946-03-27"
      },
      "attention_reason": "setup_unpaid"
    }
  ],
  "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": "fe0a02b5-a133-964b-7d89-42ff58c715d4",
    "site_id": "9283dd96-d3ed-9556-b218-4612087dc611",
    "membership_number": "1234567890",
    "customer": {
      "id": "c8bf19ee-2b10-5a9c-c916-62a0a127aab3",
      "first_name": "Jane",
      "last_name": "Doe",
      "full_name": "Jane Doe",
      "phone": "+447900000000",
      "has_password": true,
      "dob": "1943-09-12",
      "brand_id": "1da53421-97af-8ec3-f077-7d4467afef5b",
      "site_id": "cc637c17-f62a-fc35-b7bb-ffb7a0f1eaea",
      "stripe_id": "cus_1234567890",
      "express_stripe_id": "cus_1234567890",
      "email": "janedoe@example.com",
      "labels": [],
      "preferred_locale": "en",
      "locked_at": "1895-02-24T19:22:42.0Z",
      "created_at": "1958-12-22T22:29:36.0Z",
      "updated_at": "1918-09-06T08:40:52.0Z",
      "deleted_at": "1963-03-19T23:03:53.0Z",
      "last_active_at": "1932-08-14T03:23:03.0Z",
      "email_verified_at": "1914-07-28T15:59:04.0Z",
      "last_check_in": {
        "checked_in_at": "1965-02-01T10:56:13.0Z",
        "method": "Scanned"
      },
      "avatar_id": "000000-000000-000000-000000",
      "avatar": {
        "id": "2e66083c-4d06-606d-0c30-7a9185f25618",
        "file_name": "super-cool-photo.jpg",
        "mime_type": "image/jpeg",
        "size": 84256,
        "url": "https://example.com/media/super-cool-photo.jpg"
      },
      "external_ref": "labore ut tempor nostrud"
    },
    "members": [
      {
        "customer_id": "1f26eaa0-224b-c82c-30db-62fec1089d52",
        "is_lead": true
      }
    ],
    "type": {
      "id": "481d5c57-2607-0cf6-a0d2-39695098ae44",
      "name": "Gold tier",
      "description": "Enjoy exclusive benefits as part of being a member in our Gold tier",
      "terms": "aliqua",
      "brand_id": "fe58f9a8-9476-a31f-5dd3-476216b2df21",
      "offline_payments": true,
      "disable_confirmation_email": false,
      "private": false,
      "visibility": "link_only",
      "minimum_start_date": "1906-02-19T13:22:53.0Z",
      "min_members": 2,
      "max_members": 4,
      "rates": [],
      "revenue_schedule": "FREQ=WEEKLY",
      "created_at": "1955-02-26T16:18:05.0Z",
      "updated_at": "1910-05-11T06:18:50.0Z",
      "deleted_at": "1933-09-02T19:28:20.0Z"
    },
    "rate": {
      "id": "19034b86-9cbe-bfa0-db4c-a69270bba1bb",
      "membership_type_id": "753b4863-370c-8105-4267-8cc9d0902877",
      "name": "Standard rate",
      "currency": "GBP",
      "price": 5000,
      "joining_fee": 1000,
      "processors": [],
      "default_duration": "P1Y",
      "updated_at": "1951-11-27T15:17:38.0Z"
    },
    "status": "inactive",
    "source": "app",
    "payment_method": {
      "id": "consequat",
      "type": "direct_debit"
    },
    "start_date": "1967-06-12T10:42:53.0Z",
    "end_date": "1911-06-12T22:07:25.0Z",
    "created_at": "1897-03-27T12:44:28.0Z",
    "basket_id": "6787efea3313ef018e000072",
    "external_ref": "Duis culpa",
    "next_billing_date": "1893-08-02T13:51:32.0Z",
    "next_charge": {
      "id": "0e0471f0-942e-b5fa-66e3-3299a2da340b",
      "amount": 3995,
      "currency": "GBP",
      "status": "pending",
      "billing_period_from": "1966-01-29",
      "billing_period_to": "1947-03-29"
    },
    "attention_reason": "site_id"
  }
}
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

Responses

  • 200

    A charge against a membership.

  • 404

    The resource couldn't be found

POST/shop/memberships/{membershipId}/charges/{chargeId}/payment
200
example response
{
  "data": {
    "id": "e3a1487c-7695-33fb-02a4-3b9e6846710e",
    "membership": {
      "id": "c0ef5903-0a38-5299-5f9d-9ddd40d1641b",
      "membership_number": "00000014",
      "type_name": "Gold Membership",
      "customer_id": "43da8f88-afeb-6a65-d2b6-a2bfb2e44c47"
    },
    "processor": "adyen",
    "processor_data": {
      "cardholder_name": "Mrs J Jones",
      "last_4": 4001,
      "processor_type": "Cash",
      "processor_type_id": "6787efea3313ef018e000073"
    },
    "amount": 3995,
    "currency": "gbp",
    "tax": 1000,
    "status": "succeeded",
    "can_download_receipt": false,
    "amount_refunded": "dolor quis",
    "refunded": "enim ad in commodo irure",
    "refunds": [
      {
        "id": "bfcf5b62-cf0a-9419-8e2b-5cb99d4eb5c9",
        "status": "succeeded",
        "amount": 995,
        "currency": "gbp",
        "notes": "Gesture of good will",
        "failure_reason": "invalid_details",
        "refunded_by": {
          "id": "2a70761c-f3df-7d2f-8114-51cae81dce04",
          "full_name": "Jane Jenkins"
        },
        "processor_data": {
          "processor": "adyen",
          "processor_id": "re_64301e0b2df9d11814010ea6"
        },
        "created_at": "1917-06-12T22:26:27.0Z",
        "updated_at": "1914-05-01T14:36:54.0Z"
      },
      {
        "id": "2b17e943-a561-4337-07cf-81898d4d20d2",
        "status": "succeeded",
        "amount": 995,
        "currency": "gbp",
        "notes": "Gesture of good will",
        "failure_reason": "invalid_details",
        "refunded_by": {
          "id": "ce911e03-8faf-0c7e-477a-a02e2bc01bcf",
          "full_name": "Jane Jenkins"
        },
        "processor_data": {
          "processor": "adyen",
          "processor_id": "re_64301e0b2df9d11814010ea6"
        },
        "created_at": "1959-12-30T21:22:06.0Z",
        "updated_at": "1891-01-06T20:23:08.0Z"
      }
    ],
    "site_id": "2d1627a7-9162-a178-b320-0aa1793cd5bd",
    "billing_period_from": "1893-01-22",
    "billing_period_to": "1944-02-19",
    "created_at": "1899-06-21T11:09:59.0Z",
    "updated_at": "1941-02-26T06:36:05.0Z"
  }
}
404
example response
{
  "message": "The requested resource could not be found"
}