API
⌘K
My Developer Account

Key

Each song arrangement can have multiple keys. A key is the pitch center of the song.

Example Request

curl https://api.planningcenteronline.com/services/v2/songs/{song_id}/arrangements/{arrangement_id}/keys

View in API Explorer →

Example Object

{
  "type": "Key",
  "id": "1",
  "attributes": {
    "alternate_keys": "string",
    "created_at": "2000-01-01T12:00:00Z",
    "ending_key": "string",
    "ending_minor": true,
    "name": "string",
    "starting_key": "string",
    "starting_minor": true,
    "updated_at": "2000-01-01T12:00:00Z"
  },
  "relationships": {
    "arrangement": {
      "data": {
        "type": "Arrangement",
        "id": "1"
      }
    }
  }
}

Attributes

Name Type Description
alternate_keys string

An array of objects.

{ "name": "My Alternate Key", "key": "B" }

created_at date_time
ending_key string

Possible Values:

Ab, A, A#, Bb, B, C, C#, Db, D, D#, Eb, E, F, F#, Gb, G, G#, Abm, Am, A#m, Bbm, Bm, Cm, C#m, Dbm, Dm, D#m, Ebm, Em, Fm, F#m, Gbm, Gm, G#m

To set the key to minor append m to the key. e.g. Cm

ending_minor boolean
id primary_key
name string
starting_key string

Possible Values:

Ab, A, A#, Bb, B, C, C#, Db, D, D#, Eb, E, F, F#, Gb, G, G#, Abm, Am, A#m, Bbm, Bm, Cm, C#m, Dbm, Dm, D#m, Ebm, Em, Fm, F#m, Gbm, Gm, G#m

To set the key to minor append m to the key. e.g. Cm

starting_minor boolean
updated_at date_time

Relationships

Name Type Association Type Note
arrangement Arrangement to_one

Order By

Parameter Value Type Description
order created_at string

prefix with a hyphen (-created_at) to reverse the order

order updated_at string

prefix with a hyphen (-updated_at) to reverse the order

Pagination

Name Parameter Type Description
per_page per_page integer

how many records to return per page (min=1, max=100, default=25)

offset offset integer

get results from given offset

Endpoints

Listing

HTTP Method Endpoint
GET /services/v2/songs/{song_id}/arrangements/{arrangement_id}/keys

Reading

HTTP Method Endpoint
GET /services/v2/songs/{song_id}/arrangements/{arrangement_id}/keys/{id}

Creating

HTTP Method Endpoint Assignable Attributes
POST /services/v2/songs/{song_id}/arrangements/{arrangement_id}/keys
  • alternate_keys
  • ending_key
  • name
  • starting_key

Updating

HTTP Method Endpoint Assignable Attributes
PATCH /services/v2/songs/{song_id}/arrangements/{arrangement_id}/keys/{id}
  • alternate_keys
  • ending_key
  • name
  • starting_key

Deleting

HTTP Method Endpoint
DELETE /services/v2/songs/{song_id}/arrangements/{arrangement_id}/keys/{id}

Associations

HTTP Method Endpoint Returns Details Filter By
GET https://api.planningcenteronline.com/services/v2/songs/{song_id}/arrangements/{arrangement_id}/keys/{key_id}/attachments Attachment

Belongs To

HTTP Method Endpoint Association Details Filter By
GET https://api.planningcenteronline.com/services/v2/songs/{song_id}/arrangements/{arrangement_id}/keys Arrangement
GET https://api.planningcenteronline.com/services/v2/service_types/{service_type_id}/plans/{plan_id}/items/{item_id}/key Item