NAV
shell

Introduction

Welcome to the ARTSVP API

If you require help getting started or would like to request specific endpoints that suit your needs, please contact us on [email protected]

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here" \
  -H "Authorization: my_api_key"

Make sure to replace my_api_key with your API key.

To connect to our API, you must use the Authorization Header to provide your Bearer token. This can be obtained from your dashboard, under Settings -> Developer.

Your API key is used as your bearer token and has complete access to your account so please protect it 🙏🏼

Authorization: my_api_key

Rate Limiting

We limit API requests to 1,000 requests every 15 minutes. In the future, we expect to offer "high volume" rate limit plans for businesses that need more throughput.

Each request will return x-rate-limit headers so you can keep track of your queries.

If the rate limit is exceeded we will return a 429 (Too Many Requests) response status code, please make sure to handle this response code, as we do not queue requests that have been made after the limit has been exceeded.

Pagination

For endpoints that return large quantities of data, pagination is implemented to reduce request times. When an endpoint implements pagination, a special key value pair in the response will include has_more with either true or false.

If this is returned, then a secondary key value pair will be available labeled last_element_id, where element will be replaced with whatever is being queried, for example, last_booking_id for the bookings endpoint.

This will be used as a cursor for use in pagination, where providing the param starting_after with the last_element_id in your subsequent call will return the next page of results, and providing the param ending_before with the last_element_id will return the previous page of results.

By default, results are returned in pages with a size of 50 elements. By providing limit and a value between 1 and 99 in the API call, the page size can be increased or decreased.

Resources

Resource is the collective term for Event and Collection objects. Some functionality, such as creating invites can apply to either Event or Collection objects- so for simplicity, we refer to them as a Resource in the documentation.

Events

Events typically represent a single event that you are hosting and can be used to create bookings, send invites, and manage your guest list. They have their own dedicated availability / capacity settings and can be configured to suit your needs.

The event object

The event object

{
  "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
  "object": "event",
  "code": "efa400",
  "name": "Summer Party",
  "reference": "Summer Party (VIP 1)",
  "description": "A summer meet and greet for our VIP guests",
  "time_zone": "Europe/London",
  "start_date": "2023-05-18",
  "start_time": "2023-05-18T10:00:00.000+01:00",
  "end_date": "2023-05-18",
  "end_time": "2023-05-18T17:00:00.000+01:00",
  "location_name": "Gallery ABC",
  "location_address": "123 Artists Way",
  "public_url": "https://artsvp.com/efa400",
  "banner_image": "https://artsvp.s3.eu-west-2.amazonaws.com/uploads/banners/xxxxx.jpeg",
  "resource_tags": ["vip", "art_fair"],
  "created_at": "2023-04-06T15:12:08.671Z",
  "updated_at": "2023-05-15T11:34:48.746Z"
}

Attributes

Attribute Type Description
id string Unique identifier for the object.
object string String representing the object’s type
code string A unique reference for the event used in the URL
name string Public facing event name
reference string Internal event reference
description string Internal event description (Developer use only)
timezone string The time zone the event is taking place in
start_date string The date the event starts
start_time string The time the event starts
end_date string The date the event ends
end_time string The time the event ends
location_name string The name of the location the event is being held at
location_address string The address of the location the event is being held at
public_url string The public URL for the event
banner_image string The banner image for the event
resource_tags array Internal tags assigned to the event
created_at timestamp Timestamp when the event was created
updated_at timestamp Timestamp when the event was updated

Retrieve an event

curl -X GET "https://app.artsvp.com/api/v3/events/eve-c60d5868-c4cf-4b55-83f2-6578a5173767" \
  -H "Authorization: my_api_key"

The above command returns JSON structured like this:

{
  "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
  "object": "event",
  "code": "efa400",
  "name": "Summer Party",
  "reference": "Summer Party (VIP 1)",
  "description": "A summer meet and greet for our VIP guests",
  "time_zone": "Europe/London",
  "start_date": "2023-05-18",
  "start_time": "2023-05-18T10:00:00.000+01:00",
  "end_date": "2023-05-18",
  "end_time": "2023-05-18T17:00:00.000+01:00",
  "location_name": "Gallery ABC",
  "location_address": "123 Artists Way",
  "public_url": "https://artsvp.com/efa400",
  "banner_image": "https://artsvp.s3.eu-west-2.amazonaws.com/uploads/banners/xxxxx.jpeg",
  "resource_tags": ["vip", "art_fair"],
  "created_at": "2023-04-06T15:12:08.671Z",
  "updated_at": "2023-05-15T11:34:48.746Z"
}

Retrieves the details of an event.

HTTP Request

GET https://app.artsvp.com/api/v3/events/:id

Parameters

Parameter Required Description
id true The id of the event to retrieve

List all events

curl "https://app.artsvp.com/api/v3/events" \
  -H "Authorization: my_api_key"

The above command returns JSON structured like this:

{
  "object": "list",
  "url": "/v3/events",
  "data": [
    {
      "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
      "object": "event",
      "code": "efa400",
      "name": "Summer Party",
      ...
    },
    {
      "id": "eve-c60d5868-c4cf-4b55-83f2-6578a8263751",
      "object": "event",
      "code": "gh7823",
      "name": "Winter Party",
      ...
    },
    ...
  ]
}

Return a list of all events your Organisation owns.

HTTP Request

GET https://app.artsvp.com/api/v3/events

Collections

Collections are a way to group events together. For example, you may want to group all events for a particular Art Fair together.

The collection object

The collection object

{
  "id": "col-ab281a7f-c85e-4ecb-952c-b17f9e181826",
  "object": "collection",
  "code": "433ca2",
  "name": "VIP program",
  "public_url": "https://artsvp.com/433ca2",
  "banner_image": "https://artsvp.s3.eu-west-2.amazonaws.com/uploads/banners/5e52e75e-163f-4754-bad4-7d63d6bc508f.png",
  "resource_tags": [],
  "created_at": "2023-04-21T09:21:51.167Z",
  "updated_at": "2023-04-21T09:22:49.868Z"
}

Attributes

Attribute Type Description
id string Unique identifier for the object.
object string String representing the object’s type
code string A unique reference for the collection used in the URL
name string Public facing collection name
public_url string The public URL for the collection
banner_image string The banner image for the collection
resource_tags array Internal tags assigned to the collection
created_at timestamp Timestamp when the collection was created
updated_at timestamp Timestamp when the collection was updated

Retrieve a collection

curl -X GET "https://app.artsvp.com/api/v3/collection/col-ab281a7f-c85e-4ecb-952c-b17f9e181826" \
  -H "Authorization: my_api_key"

The above command returns JSON structured like this:

{
  "id": "col-ab281a7f-c85e-4ecb-952c-b17f9e181826",
  "object": "collection",
  "code": "433ca2",
  "name": "VIP program",
  "public_url": "https://artsvp.com/433ca2",
  "banner_image": "https://artsvp.s3.eu-west-2.amazonaws.com/uploads/banners/5e52e75e-163f-4754-bad4-7d63d6bc508f.png",
  "resource_tags": [],
  "created_at": "2023-04-21T09:21:51.167Z",
  "updated_at": "2023-04-21T09:22:49.868Z"
}

Retrieves the details of a collection.

HTTP Request

GET https://app.artsvp.com/api/v3/collections/:id

Parameters

Parameter Required Description
id true The id of the collection to retrieve

List all collections

curl "https://app.artsvp.com/api/v3/collections" \
  -H "Authorization: my_api_key"

The above command returns JSON structured like this:

{
  "object": "list",
  "url": "/v3/collections",
  "data": [
    {
        "id": "col-ab281a7f-c85e-4ecb-952c-b17f9e181826",
        "object": "collection",
        "code": "433ca2",
        "name": "VIP program",
        ...
    },
    {
        "id": "col-89kl2ghq-c85e-4ecb-952c-b17f62hy73ds",
        "object": "collection",
        "code": "78hgwq",
        "name": "Front of House",
        ...
    },
    ...
  ]
}

Return a list of all collections your Organisation owns.

HTTP Request

GET https://app.artsvp.com/api/v3/collections

Bookings

Bookings are unique records that belong to an Event. They hold important information such as the name and email of the person making the booking and and other specifics needed for the events such as the booking size, start_time etc.

Each booking has a status field which denotes where the booking is within the booking process.

The booking object

The booking object

{
  "id": "boo-46d60ac0-bd1a-4e11-a3e2-0394e872887f",
  "object": "booking",
  "reference": "C922-4EBA-1F8C",
  "status": "is_confirmed",
  "name": "Guest",
  "email": "[email protected]",
  "size": 5,
  "start_time_utc": "2022-01-01T13:00:00.000Z",
  "start_time_local": "2022-01-01T13:00:00.000+00:00",
  "url": "https://artsvp.com/bookings/jwhfoiwhef9w8f9we79w8f79we87wef",
  "event_id": "836d76",
  "event_name": "Summer Fair",
  "event_reference": "Summer Fair - VIP 1",
  "event_time_zone": "Europe/London",
  "invite_id": "db8e29",
  "event": {
    "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
    "object": "event",
    "code": "efa400",
    "name": "Summer Party",
    ...
  },
  "tags": [],
  "resource_tags": ["vip", "new_user"],
  "agree_to_mailing_list": true,
  "meta_data": {},
  "external_id": "abc123",
  "created_at": "2021-10-21T15:22:35.758Z",
  "updated_at": "2021-10-21T15:33:13.889Z"
}

Attributes

Attribute Type Description
id string Unique identifier for the object.
object string String representing the object’s type
reference string A unique reference for the booking
status string The booking status. Prefixed with is_ (e.g. is_confirmed)
name string Name of the primary guest
email string Email of the primary guest
size integer Number of guests attatched to the booking (includes primary guest)
start_time_utc timestamp Start time in UTC
start_time_local timestamp Start time in Event's Time Zone
url string URL to manage the booking
invite_id string Booking's invite reference (if present)
event hash The event object the booking is made for
tags array Tags assigned to the booking
resource_tags array Tags assigned to the Booking Resource
agree_to_mailing_list boolean Agreement to join mailing list by primary guest
meta_data hash Meta Data assigned to the booking
external_id string External ID assigned to the booking
created_at timestamp Timestamp when the booking was created
updated_at timestamp Timestamp when the booking was updated

Retrieve a booking

curl -X GET "https://app.artsvp.com/api/v3/bookings/boo-46d60ac0-bd1a-4e11-a3e2-0394e872887f" \
  -H "Authorization: my_api_key"

The above command returns JSON structured like this:

{
  "id": "boo-46d60ac0-bd1a-4e11-a3e2-0394e872887f",
  "object": "booking",
  "reference": "C922-4EBA-1F8C",
  "status": "is_confirmed",
  "name": "Guest",
  "email": "[email protected]",
  "size": 5,
  "start_time_utc": "2022-01-01T13:00:00.000Z",
  "start_time_local": "2022-01-01T13:00:00.000+00:00",
  "url": "https://artsvp.com/bookings/jwhfoiwhef9w8f9we79w8f79we87wef",
  "event_id": "836d76",
  "event_name": "Summer Fair",
  "event_reference": "Summer Fair - VIP 1",
  "event_time_zone": "Europe/London",
  "invite_id": "db8e29",
  "event": {
    "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
    "object": "event",
    "code": "efa400",
    "name": "Summer Party",
    ...
  },
  "tags": [],
  "resource_tags": ["vip", "new_user"],
  "meta_data": {},
  "external_id": "abc123",
  "created_at": "2021-10-21T15:22:35.758Z",
  "updated_at": "2021-10-21T15:33:13.889Z"
}

Retrieves the details of a booking.

HTTP Request

GET https://app.artsvp.com/api/v3/bookings/:id

Parameters

Parameter Required Description
id true The ID of the booking to retrieve

Update a booking

curl -X PATCH "https://app.artsvp.com/api/v3/bookings/boo-46d60ac0-bd1a-4e11-a3e2-0394e872887f" \
  -H "Authorization: my_api_key"
  -d external_id=test123

The above command returns JSON structured like this:

{
  "id": "boo-46d60ac0-bd1a-4e11-a3e2-0394e872887f",
  "object": "booking",
  "reference": "C922-4EBA-1F8C",
  "status": "is_confirmed",
  "name": "Guest",
  "email": "[email protected]",
  "size": 5,
  "start_time_utc": "2022-01-01T13:00:00.000Z",
  "start_time_local": "2022-01-01T13:00:00.000+00:00",
  "url": "https://artsvp.com/bookings/jwhfoiwhef9w8f9we79w8f79we87wef",
  "event_id": "836d76",
  "event_name": "Summer Fair",
  "event_reference": "Summer Fair - VIP 1",
  "event_time_zone": "Europe/London",
  "invite_id": "db8e29",
  "event": {
    "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
    "object": "event",
    "code": "efa400",
    "name": "Summer Party",
    ...
  },
  "tags": [],
  "resource_tags": ["vip", "new_user"],
  "meta_data": {},
  "external_id": "test123",
  "created_at": "2021-10-21T15:22:35.758Z",
  "updated_at": "2021-10-21T15:33:13.889Z"
}

Updates a booking for certain whitelisted attributes.

HTTP Request

PATCH https://app.artsvp.com/api/v3/bookings/:id

Parameters

Parameter Required Description
name false Name of the primary guest
email false Email of the primary guest
meta_data false Meta Data assigned to the booking
external_id false External ID assigned to the booking

List all bookings

curl "https://app.artsvp.com/api/v3/bookings" \
  -H "Authorization: my_api_key"
  -d external_id="abc123"

The above command returns JSON structured like this:

{
  "object": "list",
  "url": "/v3/bookings",
  "has_more": true,
  "last_booking_id": "boo-833995e0-f3a0-4112-be05-8a240d33aeda",
  "data": [
    {
      "id": "boo-46d60ac0-bd1a-4e11-a3e2-0394e872887f",
      "object": "booking",
      "reference": "C922-4EBA-1F8C",
      "status": "is_confirmed",
      "name": "Guest",
      "email": "[email protected]",
      "size": 5,
      "start_time_utc": "2022-01-01T13:00:00.000Z",
      "start_time_local": "2022-01-01T13:00:00.000+00:00",
      "url": "https://artsvp.com/bookings/jwhfoiwhef9w8f9we79w8f79we87wef",
      "event_id": "836d76",
      "event_name": "Summer Fair",
      "event_reference": "Summer Fair - VIP 1",
      "event_time_zone": "Europe/London",
      "invite_id": "db8e29",
      "event": {
        "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
        "object": "event",
        "code": "efa400",
        "name": "Summer Party",
        ...
      },
      "tags": [],
      "resource_tags": ["vip", "new_user"],
      "meta_data": {},
      "external_id": "abc123",
      "created_at": "2021-10-21T15:22:35.758Z",
      "updated_at": "2021-10-21T15:33:13.889Z"
    },
    ...
  ]

Filter by status:

  curl "https://app.artsvp.com/api/v3/bookings?status=is_confirmed" \
  -H "Authorization: my-api_key"

Filter by event_ids:

curl "https://app.artsvp.com/api/v3/bookings?event_ids[]=eve-73bb9047-18e1-4290-b2fa-43ee1abc10af&event_ids[]=eve-0701ddd0-2e2b-446a-b6f1-1c9dcfa71092" \
  -H "Authorization: my_api_key"

Filter by meta_data. Ex. Url encoded this json: meta_data='{"art":"fair"}':

  curl "https://app.artsvp.com/api/v3/bookings?meta_data=%7B%22art%22%3A%22fair%22%7D" \
  -H "Authorization: my_api_key"

Return a list of all bookings your Organisation owns. You can optionally scope your request with parameters.

HTTP Request

GET https://app.artsvp.com/api/v3/bookings

Parameters

Parameter Required Description
external_id false External ID associated with the booking
email false Email used to create the booking
reference false Reference associated to the booking
tags false Tags associated to the booking
event_resource_tags false Tags associated to the event the booking belongs to
starting_after false A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.
ending_before false A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.
limit false An integer value between 1 and 99 that will modify the page size returned
status false The booking status. Prefixed with is_, can be pending, waitlist, confirmed, cancelled, rejected, expired, interested
event_ids false An array of public_ids of events to filter bookings on. IDs begin with eve-
meta_data false An object (hash) of key value pairs to filter bookings containing matching metadata. Url encoded.

Invites

Invites exist as a vehicle for a user to create a booking. They can be used simply as a unique invite link or be pre-configured with information to define the booking flow or lock the booking to a particular user (name and email). You also have control over the number of times an Invite can be used (number of bookings created).

The invite object

The invite object

{
  "id": "inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0",
  "object": "invite",
  "code": "372abb",
  "name": "Guest",
  "email": "[email protected]",
  "golden": false,
  "register_interest": false,
  "url": "https://invite.artsvp.com/372abb",
  "used": false,
  "amount_used": "0/1",
  "resource": {
    "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
    "object": "event",
    "code": "efa400",
    "name": "Summer Party",
    ...
  },
  "tags": [
    "single_entry",
    "vip_1"
  ],
  "resource_tags": [
    "new_user"
  ],
  "meta_data": {},
  "external_id": "",
  "created_at": "2021-10-21T15:22:35.758Z",
  "updated_at": "2021-10-21T15:33:13.889Z"
}

Attributes

Attribute Type Description
id string Unique identifier for the object.
object string String representing the object’s type
code string A unique reference for the invite
name string Name assigned to the invite
email string Email assigned to the invite
golden boolean If the invite is marked as Golden
register_interest boolean If the invite is marked as Register Interest
url string URL of the invite
used boolean If the invite has been used at least once
amount_used string Number of times the invite has been used
resource hash The assigned Resource (Event or Collection) to the invite
tags array Tags assigned to the invite
resource_tags array Tags assigned to the Resource
meta_data hash Meta Data assigned to the invite
external_id string External ID assigned to the invite
created_at timestamp Timestamp when the invte was created
updated_at timestamp Timestamp when the invte was updated

Create an invite

curl -X POST "https://app.artsvp.com/api/v3/invites" \
  -H "Authorization: my_api_key"
  -d name="Lucy Green"
  -d email="[email protected]"
  -d resource_id="3f10ed"
  -d golen=true
  -d tags=["artsvp", "vip"]
  -d filter="external_id"

The above command returns JSON structured like this:

{
  "id": "inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0",
  "object": "invite",
  "code": "468d2w",
  "name": "Lucy Green",
  "email": "[email protected]",
  "golden": true,
  "register_interest": false,
  "url": "https://invite.artsvp.com/468d2w",
  "used": false,
  "amount_used": "0/1",
  "resource": {
    "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
    "object": "event",
    "code": "efa400",
    "name": "Summer Party",
    ...
  },
  "tags": [
    "artsvp",
    "vip"
  ],
  "resource_tags": [],
  "meta_data": {},
  "created_at": "2021-10-21T15:22:35.758Z",
  "updated_at": "2021-10-21T15:33:13.889Z"
}

Creates an invite for a specific resource (collection or event).

Use a filter to prevent duplicate invites from being created. If you attempt to create an invite using a filter, an new invite will only be created if an invite does not already exist with a matching filter. For example, if you filter by email and the email field is [email protected], a new invite will only be created if an invite does not exist with that email.

HTTP Request

POST https://app.artsvp.com/api/v3/invites

Parameters

Parameter Required Description
name false The name of the invite
email false The email of the invite
resource_id false Code of the Resource
resource_type false Type of the Resource
resource false Instead of defining resource_id & resource_type. The ID of the Resource
external_id false The external_id to assign to the invite
golden false If the invite should be Golden
register_interest false If the invite should be Register Interest
max_bookings false The max number of times the invite can be used to make a booking, if provided 0, the invite becomes limitless. If no value is provided, max_booking defaults to 1.
tags false Any tags you want to assign to the invite
meta_data false Meta Data assigned to the invite
filter false Filter the creation of the invite to a variable to avoid duplicate invites. Available filters: name, email, external_id

Retrieve an invite

curl -X GET "https://app.artsvp.com/api/v3/invites/inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0" \
  -H "Authorization: my_api_key"

The above command returns JSON structured like this:

{
  "id": "inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0",
  "object": "invite",
  "code": "468d2w",
  "name": "Lucy Green",
  "email": "[email protected]",
  "golden": true,
  "register_interest": false,
  "url": "https://invite.artsvp.com/468d2w",
  "used": false,
  "amount_used": "0/1",
  "resource": {
    "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
    "object": "event",
    "code": "efa400",
    "name": "Summer Party",
    ...
  },
  "tags": [
    "artsvp",
    "vip"
  ],
  "resource_tags": [],
  "meta_data": {},
  "created_at": "2021-10-21T15:22:35.758Z",
  "updated_at": "2021-10-21T15:33:13.889Z",
  "bookings": {
    "id": "boo_123456789",
    "object": "booking"
    ...
  }
}

Retrieves the details of an invite. Supply invite id from either an invite creation request or the invite list. This endpoint provides more detail than the list view by including the associated bookings.

HTTP Request

GET https://app.artsvp.com/api/v3/invites/:id

Parameters

Parameter Required Description
id true The code of the invite to retrieve

Update an invite

curl -X PATCH "https://app.artsvp.com/api/v3/invites/inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0" \
  -H "Authorization: my_api_key"
  -d total_count=10

The above command returns JSON structured like this:

{
  "id": "inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0",
  "object": "invite",
  "code": "468d2w",
  "name": "Lucy Green",
  "email": "[email protected]",
  "golden": true,
  "register_interest": false,
  "url": "https://invite.artsvp.com/468d2w",
  "used": false,
  "amount_used": "0/10",
  "resource": {
    "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
    "object": "event",
    "code": "efa400",
    "name": "Summer Party",
    ...
  },
  "tags": [
    "artsvp",
    "vip"
  ],
  "resource_tags": [],
  "meta_data": {},
  "created_at": "2021-10-21T15:22:35.758Z",
  "updated_at": "2021-10-21T15:33:13.889Z"
}

Updates an invite for certain whitelisted attributes. If the invite has already been used, the associated bookings will also show with the updated invite information.

HTTP Request

PATCH https://app.artsvp.com/api/v3/invites/:id

Parameters

Parameter Required Description
tags false Any tags passed here will overwrite the existing tags
max_bookings false The max number of times the invite can be used to make a booking, if provided 0, the invite becomes limitless. If no value is provided, max_booking defaults to 1.
golden false If set as true, the invite will be created as a golden invite, if set to false, the golden functionality will be removed for the invite
register_interest false If set as true, the invite will mark users as register interest waitlist for an event, if set to false, the functionality will be removed for the invite
external_id false The external_id to assign to the invite
meta_data false Meta Data assigned to the booking

Delete an invite

curl -X DELETE "https://app.artsvp.com/api/v3/invites/inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0" \
  -H "Authorization: my_api_key"

The above command returns the following status code:

204 No Content

Deletes the invite.

HTTP Request

DELETE https://app.artsvp.com/api/v3/invites/:id

Batch create invites

curl -X POST "https://app.artsvp.com/api/v3/invites/batch" \
  -H "Authorization: my_api_key"
  -d name="Lucy Green"
  -d email="[email protected]"
  -d resource_tags=["vip"]

The above command returns JSON structured like this:

{
  "object": "batch",
  "url": "/v3/invites/batch",
  "data": [
    {
      "id": "inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0",
      "object": "invite",
      "code": "372abb",
      "name": "Guest",
      "email": "[email protected]",
      "golden": false,
      "register_interest": false,
      "url": "https://invite.artsvp.com/372abb",
      "used": false,
      "amount_used": "0/1",
      "resource": {
        "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
        "object": "event",
        "code": "efa400",
        "name": "Summer Party",
        ...
      },
      "tags": [
        "single_entry",
        "vip_1"
      ],
      "resource_tags": [
        "vip"
      ],
      "meta_data": {},
      "created_at": "2021-10-21T15:22:35.758Z",
      "updated_at": "2021-10-21T15:33:13.889Z"
    },
    ...
  ],
  "total_events": 1,
  "total_collection": 1,
  "total_resources": 2,
  "total_invites_created": 2

Create multiple invites with a single API call

HTTP Request

POST https://app.artsvp.com/api/v3/invites/batch

Parameters

Parameter Required Description
resource_tags true Invites will be created for all resources with matching tags
name false The name of the invite
email false The email of the invite
external_id false The external_id to assign to the invite
golden false If the invite should be Golden
register_interest false If the invite should be Register Interest
max_bookings false The max number of times the invite can be used to make a booking, if provided 0, the invite becomes limitless. If no value is provided, max_booking defaults to 1.
tags false Any tags you want to assign to the invite
meta_data false Meta Data assigned to the invite
filter false Filter the creation of the invite to a variable to avoid duplicate invites. Available filters: name, email, external_id

List all invites

curl "https://app.artsvp.com/api/v3/invites?user_id=123" \
  -H "Authorization: my_api_key"
  -d resource_id="3f10ed"

The above command returns JSON structured like this:

{
  "object": "list",
  "url": "/v3/invites",
  "has_more": true,
  "last_invite_id": "inv-833995e0-f3a0-4112-be05-8a240d33aeda",
  "data": [
    {
      "id": "inv-b48ed250-8ebb-448e-a7a0-940d9fcf5dc0",
      "object": "invite",
      "code": "372abb",
      "name": "Guest",
      "email": "[email protected]",
      "golden": false,
      "register_interest": false,
      "url": "https://invite.artsvp.com/372abb",
      "used": false,
      "amount_used": "0/1",
      "resource": {
        "id": "eve-c60d5868-c4cf-4b55-83f2-6578a5173767",
        "object": "event",
        "code": "efa400",
        "name": "Summer Party",
        ...
      },
      "tags": [
        "single_entry",
        "vip_1"
      ],
      "resource_tags": [
        "new_user"
      ],
      "meta_data": {},
      "created_at": "2021-10-21T15:22:35.758Z",
      "updated_at": "2021-10-21T15:33:13.889Z"
    },
    ...
  ]

You can also filter by status:

  curl "https://app.artsvp.com/api/v3/invites?status=active" \
  -H "Authorization: my-api_key"

Filter by meta_data, Ex. Url encoded this json: meta_data='{"art":"fair"}'

  curl "https://app.artsvp.com/api/v3/invites?meta_data=%7B%22art%22%3A%22fair%22%7D" \
  -H "Authorization: my_api_key"

Return a list of all invites your Organisation owns. You can optionally scope your request with parameters.

HTTP Request

GET https://app.artsvp.com/api/v3/invites

Parameters

Parameter Required Description
resource_id false The code of a resource.
resource_type false The type of the resource. Pass either ‘collection’ or ‘event’ to dictate what resource type the resource_id. Default is event
tags false Returns all invites with any matching tags
resource_tags false Returns all invites with any matching resource tags
external_id false Only return invites matching this external_id
name false Only return invites matching this name
email false Only return invites matching this email
limit false An integer value between 1 and 99 that will modify the page size returned
meta_data false An object (hash) of key value pairs to filter invites containing matching metadata
starting_after false A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.
ending_before false A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.
status false The invite status. Can be active or declined

Errors

The ARTSVP API uses the following error codes:

Error Code Meaning
400 Bad Request -- The request is invalid.
401 Unauthorized -- The API key provided is invalid.
403 Forbidden -- The data requested is for administrators only.
404 Not Found -- Data could not be found.
429 Too Many Requests -- Rate limit has been exceeded.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.