# Create an API Key This creates an API Key, which will return the API Key components in the response. The Key ID will be found at data.id and the Key Secret will be found at data.attributes.secret. For security reasons the Key Secret will only be available during creation so make sure to save it. To use a newly-created Ingest Key it should be passed in the X-Honeycomb-Team header with the API Key's ID and secret concatenated (and with no separator). For example, X-Honeycomb-Team: hcxik_1234567890123456789012345612345678901234567890123456789012 Check out our best practices for API Keys. Endpoint: POST /2/teams/{teamSlug}/api-keys Version: 1.0.0 Security: bearerAuth ## Path parameters: - `teamSlug` (string, required) The slug of the Team ## Request fields (application/vnd.api+json): - `data` (object, required) - `data.type` (string, required) Enum: "api-keys" - `data.attributes` (any, required) - `data.relationships` (object, required) - `data.relationships.environment` (object, required) The Environment this object is associated with. ## Response 201 fields (application/vnd.api+json): - `data` (object, required) - `data.id` (string, required) The unique identifier of the API Key Example: "hcxik_12345678901234567890123456" - `data.type` (string, required) Enum: "api-keys" - `data.attributes` (object, required) - `data.attributes.secret` (string, required) The API Key secret. This is the only time it will be returned. Example: "12345678901234567890123456789" - `data.relationships` (object, required) - `data.relationships.environment` (object, required) The Environment this object is associated with. - `data.relationships.creator` (any) - `data.relationships.editor` (any) - `data.links` (object, required) - `data.links.self` (string) The URL of this resource Example: "/2/teams/my-team/api-keys/hcxik_12345678901234567890123456" ## Response 400 fields (application/problem+json): - `error` (string, required) - `status` (number, required) The HTTP status code of the error. - `type` (string, required) Type is a URI used to uniquely identify the type of error. - `title` (string, required) Title is a human-readable summary that explains the type of the problem. - `detail` (string) The general, human-readable error message. - `instance` (string) The unique identifier (ID) for this specific error. ## Response 401 fields (application/json): - `error` (string) ## Response 403 fields (application/json): - `error` (string) ## Response 404 fields (application/json): - `error` (string) ## Response 413 fields (application/json): - `error` (string, required) - `status` (number, required) The HTTP status code of the error. - `type` (string, required) Type is a URI used to uniquely identify the type of error. - `title` (string, required) Title is a human-readable summary that explains the type of the problem. - `detail` (string) The general, human-readable error message. - `instance` (string) The unique identifier (ID) for this specific error. ## Response 415 fields (application/vnd.api+json): - `errors` (array) - `errors.id` (string, required) - `errors.status` (string) - `errors.code` (string, required) - `errors.title` (string) - `errors.detail` (string) - `errors.source` (object) - `errors.source.pointer` (string) - `errors.source.header` (string) - `errors.source.parameter` (string) ## Response 422 fields (application/problem+json): - `error` (string, required) - `status` (number, required) The HTTP status code of the error. - `type` (string, required) Type is a URI used to uniquely identify the type of error. - `title` (string, required) Title is a human-readable summary that explains the type of the problem. - `detail` (string) The general, human-readable error message. - `instance` (string) The unique identifier (ID) for this specific error. - `type_detail` (array) - `type_detail.field` (string) - `type_detail.code` (string) Enum: "invalid", "missing", "incorrect_type", "already_exists" - `type_detail.description` (string) ## Response 429 fields (application/json): - `error` (string) ## Response 500 fields (application/problem+json): - `error` (string, required) - `status` (number, required) The HTTP status code of the error. - `type` (string, required) Type is a URI used to uniquely identify the type of error. - `title` (string, required) Title is a human-readable summary that explains the type of the problem. - `detail` (string) The general, human-readable error message. - `instance` (string) The unique identifier (ID) for this specific error.