Skip to content
Tickply Developers
Documentation menu: API reference

API reference

Every endpoint of the Tickply API, by resource. Send the key in Authorization: Bearer tkp_your_key, except where it says No key. The same content as a file: openapi.yaml.

Base address

https://api.tickply.com/v1

Events

GET /events #

List events

Scope events:read

Parameters

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of Event in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Event
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • starts_atdate-time
  • ends_atdate-time
  • created_atdate-time
  • updated_atdate-time
curl https://api.tickply.com/v1/events \
  -H "Authorization: Bearer tkp_your_key"
GET /events/{event} #

Get an event, with its days, program, ticket types and batches

Scope events:read

Parameters

  • event required
    path · integer

    The event id.

Responses

  • 200 The EventDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of EventDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • starts_atdate-time
  • ends_atdate-time
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • venue_namestring | null
  • venue_addressstring | null
  • room_urlstring | null
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sessionsEventSession[]
  • programProgram
  • sponsorsSponsorGroup[]
  • offersOffer[]
  • floor_plan_urlstring | null
  • sectorsSector[]
curl https://api.tickply.com/v1/events/123 \
  -H "Authorization: Bearer tkp_your_key"
POST /events #

Create an event

Scope events:write Needs Idempotency-Key

Parameters

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • title required
    string
  • modality required
    string
  • starts_at required
    date-time
  • ends_at required
    date-time
  • venue_name
    string | null
  • venue_address
    string | null
  • room_url
    string | null
  • summary
    string | null
  • description
    string | null
  • refund_policy
    string | null
  • fee_payer
    string
  • is_free
    boolean
  • visibility
    string
  • category
    string | null
  • confirm_change
    boolean
  • notify_participants
    boolean
  • ticket_noun
    string
  • ticket_message
    string | null
  • confirmation_message
    string | null
  • names_required
    boolean
  • assign_until
    date-time | null
  • transfers_closed
    boolean
  • transfers_until
    date-time | null

Responses

  • 201 The EventDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of EventDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • starts_atdate-time
  • ends_atdate-time
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • venue_namestring | null
  • venue_addressstring | null
  • room_urlstring | null
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sessionsEventSession[]
  • programProgram
  • sponsorsSponsorGroup[]
  • offersOffer[]
  • floor_plan_urlstring | null
  • sectorsSector[]
curl -X POST https://api.tickply.com/v1/events \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"title":"Annual meeting","modality":"online","starts_at":"2027-03-10T12:00:00Z","ends_at":"2027-03-10T18:00:00Z"}'
PATCH /events/{event} #

Change an event

Scope events:write

Parameters

  • event required
    path · integer

    The event id.

Body JSON

  • title
    string
  • modality
    string
  • starts_at
    date-time
  • ends_at
    date-time
  • venue_name
    string | null
  • venue_address
    string | null
  • room_url
    string | null
  • summary
    string | null
  • description
    string | null
  • refund_policy
    string | null
  • fee_payer
    string
  • is_free
    boolean
  • visibility
    string
  • category
    string | null
  • confirm_change
    boolean
  • notify_participants
    boolean
  • ticket_noun
    string
  • ticket_message
    string | null
  • confirmation_message
    string | null
  • names_required
    boolean
  • assign_until
    date-time | null
  • transfers_closed
    boolean
  • transfers_until
    date-time | null

Responses

  • 200 The EventDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of EventDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • starts_atdate-time
  • ends_atdate-time
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • venue_namestring | null
  • venue_addressstring | null
  • room_urlstring | null
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sessionsEventSession[]
  • programProgram
  • sponsorsSponsorGroup[]
  • offersOffer[]
  • floor_plan_urlstring | null
  • sectorsSector[]
curl -X PATCH https://api.tickply.com/v1/events/123 \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Content-Type: application/json" \
  -d '{"title":"Annual meeting 2027"}'
POST /events/{event}/publish #

Publish an event (422 cannot_publish says what is missing)

Scope events:write

Parameters

  • event required
    path · integer

    The event id.

Responses

  • 200 The EventDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of EventDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • starts_atdate-time
  • ends_atdate-time
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • venue_namestring | null
  • venue_addressstring | null
  • room_urlstring | null
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sessionsEventSession[]
  • programProgram
  • sponsorsSponsorGroup[]
  • offersOffer[]
  • floor_plan_urlstring | null
  • sectorsSector[]
curl -X POST https://api.tickply.com/v1/events/123/publish \
  -H "Authorization: Bearer tkp_your_key"
POST /events/{event}/unpublish #

Take an event off sale; buyers keep their tickets

Scope events:write

Parameters

  • event required
    path · integer

    The event id.

Responses

  • 200 The EventDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 429 rate_limited: wait for Retry-After
Fields of EventDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • starts_atdate-time
  • ends_atdate-time
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • venue_namestring | null
  • venue_addressstring | null
  • room_urlstring | null
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sessionsEventSession[]
  • programProgram
  • sponsorsSponsorGroup[]
  • offersOffer[]
  • floor_plan_urlstring | null
  • sectorsSector[]
curl -X POST https://api.tickply.com/v1/events/123/unpublish \
  -H "Authorization: Bearer tkp_your_key"
GET /events/{event}/offers #

List the ticket types of an event

Scope events:read

Parameters

  • event required
    path · integer

    The event id.

Responses

  • 200 A list of Offer in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of Offer
  • idinteger
  • item_idinteger
  • namestring
  • descriptionstring | null
  • kindstring
  • half_of_offer_idinteger | null
  • legal_categorystring | null
  • legal_category_textstring | null
  • proof_textstring | null
  • proof_to_showstring | null
  • stampstring | null
  • attendancestring | null
  • includes_roomboolean
  • quantityinteger | null
  • min_per_orderinteger
  • max_per_orderinteger
  • visibleboolean
  • waitlist_enabledboolean
  • group_namestring | null
  • soldinteger
  • session_idsinteger[]
  • sector_idinteger | null
  • batchesBatch[]
curl https://api.tickply.com/v1/events/123/offers \
  -H "Authorization: Bearer tkp_your_key"
POST /events/{event}/offers #

Create a ticket type with its first batch (batch is required unless the event is free, and a free event refuses a price)

Scope events:write Needs Idempotency-Key

Parameters

  • event required
    path · integer

    The event id.

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • name required
    string
  • description
    string | null
  • kind
    string
  • attendance
    string
  • includes_room
    boolean
  • proof_text
    string | null
  • quantity
    integer | null
  • min_per_order
    integer
  • max_per_order
    integer
  • visible
    boolean
  • waitlist_enabled
    boolean
  • group_name
    string | null
  • session_ids
    integer[]
  • sector_id
    integer | null
  • batch
    NewBatch with name, price_cents, quantity, starts_at, ends_at

Responses

  • 201 The Offer in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Offer
  • idinteger
  • item_idinteger
  • namestring
  • descriptionstring | null
  • kindstring
  • half_of_offer_idinteger | null
  • legal_categorystring | null
  • legal_category_textstring | null
  • proof_textstring | null
  • proof_to_showstring | null
  • stampstring | null
  • attendancestring | null
  • includes_roomboolean
  • quantityinteger | null
  • min_per_orderinteger
  • max_per_orderinteger
  • visibleboolean
  • waitlist_enabledboolean
  • group_namestring | null
  • soldinteger
  • session_idsinteger[]
  • sector_idinteger | null
  • batchesBatch[]
curl -X POST https://api.tickply.com/v1/events/123/offers \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"Full price","batch":{"name":"First batch","price_cents":15000,"quantity":100}}'
POST /offers/{offer}/batches #

Add the next batch to a ticket type (price_cents is refused on a free item)

Scope events:write Needs Idempotency-Key

Parameters

  • offer required
    path · integer

    The ticket or spot type id.

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • name required
    string
  • price_cents
    integer
  • quantity
    integer | null
  • starts_at
    date-time | null
  • ends_at
    date-time | null

Responses

  • 201 The Offer in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Offer
  • idinteger
  • item_idinteger
  • namestring
  • descriptionstring | null
  • kindstring
  • half_of_offer_idinteger | null
  • legal_categorystring | null
  • legal_category_textstring | null
  • proof_textstring | null
  • proof_to_showstring | null
  • stampstring | null
  • attendancestring | null
  • includes_roomboolean
  • quantityinteger | null
  • min_per_orderinteger
  • max_per_orderinteger
  • visibleboolean
  • waitlist_enabledboolean
  • group_namestring | null
  • soldinteger
  • session_idsinteger[]
  • sector_idinteger | null
  • batchesBatch[]
curl -X POST https://api.tickply.com/v1/offers/456/batches \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"Second batch","price_cents":18000}'

Courses

GET /courses #

List courses

Scope courses:read

Parameters

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of Course in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Course
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • lessons_countinteger
  • created_atdate-time
  • updated_atdate-time
curl https://api.tickply.com/v1/courses \
  -H "Authorization: Bearer tkp_your_key"
GET /courses/{course} #

Get a course, with its spots

Scope courses:read

Parameters

  • course required
    path · integer

    The course id.

Responses

  • 200 The CourseDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of CourseDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • lessons_countinteger
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sponsorsSponsorGroup[]
  • offersOffer[]
curl https://api.tickply.com/v1/courses/124 \
  -H "Authorization: Bearer tkp_your_key"
POST /courses #

Create a course

Scope courses:write Needs Idempotency-Key

Parameters

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • title required
    string
  • modality
    string
  • summary
    string | null
  • description
    string | null
  • refund_policy
    string | null
  • fee_payer
    string
  • is_free
    boolean
  • visibility
    string
  • category
    string | null
  • workload_hours
    integer | null
  • instructor_name
    string | null
  • instructor_bio
    string | null
  • watch_percent
    integer
  • sequential
    boolean
  • requires_quiz
    boolean
  • quiz_pass_percent
    integer

Responses

  • 201 The CourseDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of CourseDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • lessons_countinteger
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sponsorsSponsorGroup[]
  • offersOffer[]
curl -X POST https://api.tickply.com/v1/courses \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"title":"Annual meeting"}'
PATCH /courses/{course} #

Change a course

Scope courses:write

Parameters

  • course required
    path · integer

    The course id.

Body JSON

  • title
    string
  • modality
    string
  • summary
    string | null
  • description
    string | null
  • refund_policy
    string | null
  • fee_payer
    string
  • is_free
    boolean
  • visibility
    string
  • category
    string | null
  • workload_hours
    integer | null
  • instructor_name
    string | null
  • instructor_bio
    string | null
  • watch_percent
    integer
  • sequential
    boolean
  • requires_quiz
    boolean
  • quiz_pass_percent
    integer

Responses

  • 200 The CourseDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of CourseDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • lessons_countinteger
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sponsorsSponsorGroup[]
  • offersOffer[]
curl -X PATCH https://api.tickply.com/v1/courses/124 \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Content-Type: application/json" \
  -d '{"title":"Online course, second edition"}'
POST /courses/{course}/publish #

Publish a course (422 cannot_publish says what is missing)

Scope courses:write

Parameters

  • course required
    path · integer

    The course id.

Responses

  • 200 The CourseDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of CourseDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • lessons_countinteger
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sponsorsSponsorGroup[]
  • offersOffer[]
curl -X POST https://api.tickply.com/v1/courses/124/publish \
  -H "Authorization: Bearer tkp_your_key"
POST /courses/{course}/unpublish #

Take a course off sale; students keep their access

Scope courses:write

Parameters

  • course required
    path · integer

    The course id.

Responses

  • 200 The CourseDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 429 rate_limited: wait for Retry-After
Fields of CourseDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • statusstring
  • is_freeboolean
  • visibilitystring
  • modalitystring
  • cover_urlstring | null
  • tickets_soldinteger
  • lessons_countinteger
  • created_atdate-time
  • updated_atdate-time
  • categorystring | null
  • summarystring | null
  • descriptionstring | null
  • refund_policystring | null
  • fee_payerstring
  • currencystring
  • public_urlstring
  • publish_missingstring[]
  • sponsorsSponsorGroup[]
  • offersOffer[]
curl -X POST https://api.tickply.com/v1/courses/124/unpublish \
  -H "Authorization: Bearer tkp_your_key"
GET /courses/{course}/offers #

List the spot types of a course

Scope courses:read

Parameters

  • course required
    path · integer

    The course id.

Responses

  • 200 A list of Offer in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of Offer
  • idinteger
  • item_idinteger
  • namestring
  • descriptionstring | null
  • kindstring
  • half_of_offer_idinteger | null
  • legal_categorystring | null
  • legal_category_textstring | null
  • proof_textstring | null
  • proof_to_showstring | null
  • stampstring | null
  • attendancestring | null
  • includes_roomboolean
  • quantityinteger | null
  • min_per_orderinteger
  • max_per_orderinteger
  • visibleboolean
  • waitlist_enabledboolean
  • group_namestring | null
  • soldinteger
  • session_idsinteger[]
  • sector_idinteger | null
  • batchesBatch[]
curl https://api.tickply.com/v1/courses/124/offers \
  -H "Authorization: Bearer tkp_your_key"
POST /courses/{course}/offers #

Create a spot type with its first batch (batch is required unless the course is free, and a free course refuses a price)

Scope courses:write Needs Idempotency-Key

Parameters

  • course required
    path · integer

    The course id.

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • name required
    string
  • description
    string | null
  • kind
    string
  • attendance
    string
  • includes_room
    boolean
  • proof_text
    string | null
  • quantity
    integer | null
  • min_per_order
    integer
  • max_per_order
    integer
  • visible
    boolean
  • waitlist_enabled
    boolean
  • group_name
    string | null
  • session_ids
    integer[]
  • sector_id
    integer | null
  • batch
    NewBatch with name, price_cents, quantity, starts_at, ends_at

Responses

  • 201 The Offer in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Offer
  • idinteger
  • item_idinteger
  • namestring
  • descriptionstring | null
  • kindstring
  • half_of_offer_idinteger | null
  • legal_categorystring | null
  • legal_category_textstring | null
  • proof_textstring | null
  • proof_to_showstring | null
  • stampstring | null
  • attendancestring | null
  • includes_roomboolean
  • quantityinteger | null
  • min_per_orderinteger
  • max_per_orderinteger
  • visibleboolean
  • waitlist_enabledboolean
  • group_namestring | null
  • soldinteger
  • session_idsinteger[]
  • sector_idinteger | null
  • batchesBatch[]
curl -X POST https://api.tickply.com/v1/courses/124/offers \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"Full price","batch":{"name":"First batch","price_cents":15000,"quantity":100}}'

Orders

GET /orders #

List orders

Scope orders:read

Parameters

  • item_id
    query · integer

    Only this event or course.

  • status
    query · string

    Only orders in this status.

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of Order in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Order
  • idinteger
  • item_idinteger
  • item_titlestring
  • kindstring
  • buyer_namestring
  • buyer_companystring | null
  • buyer_emailstring
  • statusstring
  • originstring
  • methodstring | null
  • total_centsinteger
  • discount_centsinteger
  • currencystring
  • quantityinteger
  • urlstring
  • created_atdate-time
  • updated_atdate-time
  • paid_atdate-time | null
  • expires_atdate-time
curl https://api.tickply.com/v1/orders \
  -H "Authorization: Bearer tkp_your_key"
GET /orders/{order} #

Get an order, with its lines

Scope orders:read

Parameters

  • order required
    path · integer

    The order id.

Responses

  • 200 The OrderDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of OrderDetail
  • idinteger
  • item_idinteger
  • item_titlestring
  • kindstring
  • buyer_namestring
  • buyer_companystring | null
  • buyer_emailstring
  • statusstring
  • originstring
  • methodstring | null
  • total_centsinteger
  • discount_centsinteger
  • currencystring
  • quantityinteger
  • urlstring
  • created_atdate-time
  • updated_atdate-time
  • paid_atdate-time | null
  • expires_atdate-time
  • linesOrderLine[]
curl https://api.tickply.com/v1/orders/789 \
  -H "Authorization: Bearer tkp_your_key"
POST /courtesies #

Give a complimentary ticket or spot (409 sold_out when it does not fit)

Scope orders:write Needs Idempotency-Key

Parameters

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • item_id required
    integer
  • offer_id required
    integer
  • name required
    string
  • email required
    string

Responses

  • 201 The OrderDetail in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of OrderDetail
  • idinteger
  • item_idinteger
  • item_titlestring
  • kindstring
  • buyer_namestring
  • buyer_companystring | null
  • buyer_emailstring
  • statusstring
  • originstring
  • methodstring | null
  • total_centsinteger
  • discount_centsinteger
  • currencystring
  • quantityinteger
  • urlstring
  • created_atdate-time
  • updated_atdate-time
  • paid_atdate-time | null
  • expires_atdate-time
  • linesOrderLine[]
curl -X POST https://api.tickply.com/v1/courtesies \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"item_id":123,"offer_id":456,"name":"Ana Souza","email":"ana@example.com"}'

Participants

GET /participants #

List participants

Scope participants:read

Parameters

  • item_id
    query · integer

    Only this event or course.

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of Participant in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Participant
  • idinteger
  • item_idinteger
  • offer_idinteger
  • namestring | null
  • emailstring | null
  • offerstring
  • categorystring | null
  • batchstring | null
  • statusstring
  • order_idinteger
  • bought_bystring
  • ticket_idinteger | null
  • ticket_urlstring | null
  • session_idsinteger[]
  • sectorstring | null
  • seatsParticipantSeat[]
  • answersobject[]
  • bought_atdate-time
  • checked_atdate-time | null
  • updated_atdate-time
curl https://api.tickply.com/v1/participants \
  -H "Authorization: Bearer tkp_your_key"
GET /participants/{participant} #

Get a participant

Scope participants:read

Parameters

  • participant required
    path · integer

    The participant id.

Responses

  • 200 The Participant in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of Participant
  • idinteger
  • item_idinteger
  • offer_idinteger
  • namestring | null
  • emailstring | null
  • offerstring
  • categorystring | null
  • batchstring | null
  • statusstring
  • order_idinteger
  • bought_bystring
  • ticket_idinteger | null
  • ticket_urlstring | null
  • session_idsinteger[]
  • sectorstring | null
  • seatsParticipantSeat[]
  • answersobject[]
  • bought_atdate-time
  • checked_atdate-time | null
  • updated_atdate-time
curl https://api.tickply.com/v1/participants/321 \
  -H "Authorization: Bearer tkp_your_key"

Check-ins

GET /check-ins #

List check-ins; each one belongs to a day of the event

Scope checkins:read

Parameters

  • item_id
    query · integer

    Only this event or course.

  • session_id
    query · integer

    Only this day of the event.

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of CheckIn in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of CheckIn
  • idinteger
  • item_idinteger
  • session_idinteger | null
  • ticket_idinteger
  • participant_namestring
  • participant_emailstring
  • methodstring
  • entriesinteger
  • checked_atdate-time | null
  • last_entry_atdate-time | null
  • undone_atdate-time | null
  • updated_atdate-time
curl https://api.tickply.com/v1/check-ins \
  -H "Authorization: Bearer tkp_your_key"
POST /check-ins #

Record a check-in on a day of the event, by default the one in progress or the next (409 state_conflict when the ticket is not valid or does not include that day)

Scope checkins:write Needs Idempotency-Key

Parameters

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • item_id required
    integer
  • session_id
    integer | null
  • code required
    string

Responses

  • 200 The CheckInResult in data.
  • 201 The CheckInResult in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of CheckInResult
  • resultstring
  • seatobject | null
  • idinteger
  • item_idinteger
  • session_idinteger | null
  • ticket_idinteger
  • participant_namestring
  • participant_emailstring
  • methodstring
  • entriesinteger
  • checked_atdate-time | null
  • last_entry_atdate-time | null
  • undone_atdate-time | null
  • updated_atdate-time
curl -X POST https://api.tickply.com/v1/check-ins \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"item_id":123,"code":"TICKET-CODE"}'

Certificates

GET /certificates #

List certificates

Scope certificates:read

Parameters

  • item_id
    query · integer

    Only this event or course.

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of Certificate in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Certificate
  • idinteger
  • codestring
  • item_idinteger
  • ticket_idinteger | null
  • typestring
  • activity_idinteger | null
  • activity_titlestring | null
  • versioninteger
  • statusstring
  • replaced_bystring | null
  • holder_namestring
  • holder_emailstring
  • item_titlestring
  • hoursnumber | null
  • issued_ondate
  • verify_urlstring
  • updated_atdate-time
curl https://api.tickply.com/v1/certificates \
  -H "Authorization: Bearer tkp_your_key"
GET /certificates/{certificate} #

Get a certificate

Scope certificates:read

Parameters

  • certificate required
    path · integer

    The certificate id.

Responses

  • 200 The Certificate in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of Certificate
  • idinteger
  • codestring
  • item_idinteger
  • ticket_idinteger | null
  • typestring
  • activity_idinteger | null
  • activity_titlestring | null
  • versioninteger
  • statusstring
  • replaced_bystring | null
  • holder_namestring
  • holder_emailstring
  • item_titlestring
  • hoursnumber | null
  • issued_ondate
  • verify_urlstring
  • updated_atdate-time
curl https://api.tickply.com/v1/certificates/654 \
  -H "Authorization: Bearer tkp_your_key"
POST /certificates #

Issue the certificates of everyone who qualifies in an item, by kind (general, activity, speaker, committee; general when omitted); running it again does not duplicate

Scope certificates:write Needs Idempotency-Key

Parameters

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • item_id required
    integer
  • kind
    string

Responses

  • 201 The CertificatesIssued in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of CertificatesIssued
  • issuedinteger
  • laterinteger
curl -X POST https://api.tickply.com/v1/certificates \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"item_id":123,"kind":"general"}'
POST /certificates/{certificate}/revoke #

Revoke a certificate

Scope certificates:write

Parameters

  • certificate required
    path · integer

    The certificate id.

Body JSON

  • reason required
    string

Responses

  • 200 The Certificate in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Certificate
  • idinteger
  • codestring
  • item_idinteger
  • ticket_idinteger | null
  • typestring
  • activity_idinteger | null
  • activity_titlestring | null
  • versioninteger
  • statusstring
  • replaced_bystring | null
  • holder_namestring
  • holder_emailstring
  • item_titlestring
  • hoursnumber | null
  • issued_ondate
  • verify_urlstring
  • updated_atdate-time
curl -X POST https://api.tickply.com/v1/certificates/654/revoke \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Content-Type: application/json" \
  -d '{"reason":"Issued by mistake"}'

Coupons

GET /coupons #

List coupons

Scope coupons:read

Parameters

  • item_id
    query · integer

    Only this event or course.

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of Coupon in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Coupon
  • idinteger
  • item_idinteger
  • codestring
  • kindstring
  • percentnumber | null
  • amount_centsinteger | null
  • max_usesinteger | null
  • max_per_buyerinteger | null
  • restricted_emailstring | null
  • offer_idsinteger[]
  • activeboolean
  • usesinteger
  • linkstring
  • starts_atdate-time | null
  • ends_atdate-time | null
  • updated_atdate-time
curl https://api.tickply.com/v1/coupons \
  -H "Authorization: Bearer tkp_your_key"
POST /coupons #

Create a coupon for an item

Scope coupons:write Needs Idempotency-Key

Parameters

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • item_id required
    integer
  • code required
    string
  • kind required
    string
  • percent
    number | null
  • amount_cents
    integer | null
  • starts_at
    date-time | null
  • ends_at
    date-time | null
  • max_uses
    integer | null
  • max_per_buyer
    integer | null
  • restricted_email
    string | null
  • offer_ids
    integer[]
  • active
    boolean

Responses

  • 201 The Coupon in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of Coupon
  • idinteger
  • item_idinteger
  • codestring
  • kindstring
  • percentnumber | null
  • amount_centsinteger | null
  • max_usesinteger | null
  • max_per_buyerinteger | null
  • restricted_emailstring | null
  • offer_idsinteger[]
  • activeboolean
  • usesinteger
  • linkstring
  • starts_atdate-time | null
  • ends_atdate-time | null
  • updated_atdate-time
curl -X POST https://api.tickply.com/v1/coupons \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"item_id":123,"code":"SPRING10","kind":"percent","percent":10}'

Webhooks

GET /webhook-events #

List webhook events; those with available=false arrive with upcoming features

Scope webhooks

Responses

  • 200 A list of WebhookEventOption in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of WebhookEventOption
  • namestring
  • availableboolean
curl https://api.tickply.com/v1/webhook-events \
  -H "Authorization: Bearer tkp_your_key"
GET /webhook-endpoints #

List webhook endpoints

Scope webhooks

Parameters

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of WebhookEndpoint in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of WebhookEndpoint
  • idinteger
  • urlstring
  • descriptionstring | null
  • eventsstring[]
  • statusstring
  • paused_reasonstring | null
  • consecutive_failuresinteger
  • created_atdate-time
  • updated_atdate-time
curl https://api.tickply.com/v1/webhook-endpoints \
  -H "Authorization: Bearer tkp_your_key"
POST /webhook-endpoints #

Create a webhook endpoint; the whsec_ secret is returned only here and on rotation

Scope webhooks Needs Idempotency-Key

Parameters

  • Idempotency-Key required
    header · string

    Up to 255 characters. For 24 hours, the same key and body return the same response; a different body is 409.

Body JSON

  • url required
    string
  • description
    string | null
  • events required
    string[]

Responses

  • 201 The WebhookEndpoint in data, and the whsec_ secret in secret.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 409 idempotency_conflict, sold_out or state_conflict
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of WebhookEndpoint
  • idinteger
  • urlstring
  • descriptionstring | null
  • eventsstring[]
  • statusstring
  • paused_reasonstring | null
  • consecutive_failuresinteger
  • created_atdate-time
  • updated_atdate-time
curl -X POST https://api.tickply.com/v1/webhook-endpoints \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://your-system.example/webhooks","events":["order.paid","participant.checked_in"]}'
GET /webhook-endpoints/{webhook} #

Get a webhook endpoint

Scope webhooks

Parameters

  • webhook required
    path · integer

    The webhook endpoint id.

Responses

  • 200 The WebhookEndpoint in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of WebhookEndpoint
  • idinteger
  • urlstring
  • descriptionstring | null
  • eventsstring[]
  • statusstring
  • paused_reasonstring | null
  • consecutive_failuresinteger
  • created_atdate-time
  • updated_atdate-time
curl https://api.tickply.com/v1/webhook-endpoints/12 \
  -H "Authorization: Bearer tkp_your_key"
PATCH /webhook-endpoints/{webhook} #

Change a webhook endpoint

Scope webhooks

Parameters

  • webhook required
    path · integer

    The webhook endpoint id.

Body JSON

  • url
    string
  • description
    string | null
  • events
    string[]

Responses

  • 200 The WebhookEndpoint in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of WebhookEndpoint
  • idinteger
  • urlstring
  • descriptionstring | null
  • eventsstring[]
  • statusstring
  • paused_reasonstring | null
  • consecutive_failuresinteger
  • created_atdate-time
  • updated_atdate-time
curl -X PATCH https://api.tickply.com/v1/webhook-endpoints/12 \
  -H "Authorization: Bearer tkp_your_key" \
  -H "Content-Type: application/json" \
  -d '{"events":["order.paid","order.canceled","participant.checked_in"]}'
DELETE /webhook-endpoints/{webhook} #

Delete a webhook endpoint and its history

Scope webhooks

Parameters

  • webhook required
    path · integer

    The webhook endpoint id.

Responses

  • 204 Done
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
curl -X DELETE https://api.tickply.com/v1/webhook-endpoints/12 \
  -H "Authorization: Bearer tkp_your_key"
POST /webhook-endpoints/{webhook}/rotate-secret #

Replace the signing secret; the old one stops working at once

Scope webhooks

Parameters

  • webhook required
    path · integer

    The webhook endpoint id.

Responses

  • 200 The WebhookEndpoint in data, and the whsec_ secret in secret.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of WebhookEndpoint
  • idinteger
  • urlstring
  • descriptionstring | null
  • eventsstring[]
  • statusstring
  • paused_reasonstring | null
  • consecutive_failuresinteger
  • created_atdate-time
  • updated_atdate-time
curl -X POST https://api.tickply.com/v1/webhook-endpoints/12/rotate-secret \
  -H "Authorization: Bearer tkp_your_key"
POST /webhook-endpoints/{webhook}/pause #

Pause a webhook endpoint

Scope webhooks

Parameters

  • webhook required
    path · integer

    The webhook endpoint id.

Responses

  • 200 The WebhookEndpoint in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of WebhookEndpoint
  • idinteger
  • urlstring
  • descriptionstring | null
  • eventsstring[]
  • statusstring
  • paused_reasonstring | null
  • consecutive_failuresinteger
  • created_atdate-time
  • updated_atdate-time
curl -X POST https://api.tickply.com/v1/webhook-endpoints/12/pause \
  -H "Authorization: Bearer tkp_your_key"
POST /webhook-endpoints/{webhook}/resume #

Resume a paused webhook endpoint and reset its failure count

Scope webhooks

Parameters

  • webhook required
    path · integer

    The webhook endpoint id.

Responses

  • 200 The WebhookEndpoint in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of WebhookEndpoint
  • idinteger
  • urlstring
  • descriptionstring | null
  • eventsstring[]
  • statusstring
  • paused_reasonstring | null
  • consecutive_failuresinteger
  • created_atdate-time
  • updated_atdate-time
curl -X POST https://api.tickply.com/v1/webhook-endpoints/12/resume \
  -H "Authorization: Bearer tkp_your_key"
GET /webhook-endpoints/{webhook}/deliveries #

List the deliveries of an endpoint, newest first, with the response of the last attempt

Scope webhooks

Parameters

  • webhook required
    path · integer

    The webhook endpoint id.

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

  • updated_since
    query · date-time

    Only what changed at or after this time.

Responses

  • 200 A list of WebhookDelivery in data, one page at a time.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of WebhookDelivery
  • idstring
  • endpoint_idinteger
  • eventstring
  • statusstring
  • attemptsinteger
  • response_statusinteger | null
  • response_bodystring | null
  • error_codestring | null
  • next_attempt_atdate-time | null
  • delivered_atdate-time | null
  • created_atdate-time
  • payloadobject
curl https://api.tickply.com/v1/webhook-endpoints/12/deliveries \
  -H "Authorization: Bearer tkp_your_key"
POST /webhook-deliveries/{delivery}/resend #

Send a delivery once more, with the same delivery id

Scope webhooks

Parameters

  • delivery required
    path · string

    The delivery id (a UUID), the same as X-Tickply-Delivery.

Responses

  • 200 The WebhookDelivery in data.
  • 401 unauthenticated: the key is missing, wrong, revoked or expired
  • 403 missing_scope or organization_suspended
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of WebhookDelivery
  • idstring
  • endpoint_idinteger
  • eventstring
  • statusstring
  • attemptsinteger
  • response_statusinteger | null
  • response_bodystring | null
  • error_codestring | null
  • next_attempt_atdate-time | null
  • delivered_atdate-time | null
  • created_atdate-time
  • payloadobject
curl -X POST https://api.tickply.com/v1/webhook-deliveries/7f3c9a52-5d1e-4c2b-9a8e-3b6f0c1d2e4f/resend \
  -H "Authorization: Bearer tkp_your_key"

Public

GET /public/organizations/{organization} #

Get an organizer: name, brand and contact; url is its page, on its own domain when it has one

No key

Parameters

  • organization required
    path · string

    The organizer address, as in its page.

Responses

  • 200 The PublicOrganization in data.
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of PublicOrganization
  • namestring
  • slugstring
  • contact_emailstring | null
  • contact_phonestring | null
  • urlstring
  • taglinestring | null
  • aboutstring | null
  • websitestring | null
  • social_linksobject
  • primary_colorstring | null
  • logo_urlstring | null
  • cover_urlstring | null
  • currencystring
curl https://api.tickply.com/v1/public/organizations/your-organizer
GET /public/organizations/{organization}/items #

List the public upcoming or on-sale items of an organizer; each url is on the organizer's own domain when it has one

No key

Parameters

  • organization required
    path · string

    The organizer address, as in its page.

  • cursor
    query · string

    meta.next_cursor of the previous page.

  • limit
    query · integer

    Up to 100; above that it is reduced.

Responses

  • 200 A list of PublicItem in data, one page at a time.
  • 404 not_found: it does not exist, or belongs to another organizer
  • 422 validation_failed: errors has the messages per field
  • 429 rate_limited: wait for Retry-After
Fields of PublicItem
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • summarystring | null
  • categorystring | null
  • cover_urlstring | null
  • urlstring
  • modalitystring
  • starts_atdate-time | null
  • ends_atdate-time | null
  • venue_namestring | null
  • is_freeboolean
  • price_from_centsinteger | null
  • currencystring
curl https://api.tickply.com/v1/public/organizations/your-organizer/items
GET /public/items/{organization}/{item} #

Get an item page as data, with the program and the ticket types on sale

No key

Parameters

  • organization required
    path · string

    The organizer address, as in its page.

  • item required
    path · string

    The event or course address, as in its page.

Responses

  • 200 The PublicItemDetail in data.
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of PublicItemDetail
  • idinteger
  • kindstring
  • slugstring
  • titlestring
  • summarystring | null
  • categorystring | null
  • cover_urlstring | null
  • urlstring
  • modalitystring
  • starts_atdate-time | null
  • ends_atdate-time | null
  • venue_namestring | null
  • is_freeboolean
  • price_from_centsinteger | null
  • currencystring
  • descriptionstring | null
  • venue_addressstring | null
  • can_buyboolean
  • organizationWebhookOrganizationName
  • sessionsPublicSession[]
  • programPublicProgram
  • sponsorsPublicSponsorGroup[]
  • offersPublicOffer[]
  • floor_plan_urlstring | null
curl https://api.tickply.com/v1/public/items/your-organizer/annual-meeting
GET /public/certificates/{code} #

Verify a certificate by its code

No key

Parameters

  • code required
    path · string

    The code printed on the certificate.

Responses

  • 200 The PublicCertificate in data.
  • 404 not_found: it does not exist, or belongs to another organizer
  • 429 rate_limited: wait for Retry-After
Fields of PublicCertificate
  • codestring
  • statusstring
  • versioninteger
  • replaced_bystring | null
  • holderstring
  • titlestring
  • activitystring | null
  • hoursnumber | null
  • issued_ondate
  • organizationstring
curl https://api.tickply.com/v1/public/certificates/ABCD-EFGH-JKLM