@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Ingestion API
@base https://api.mixpanel.com
@version 1.0.0
@endpoints 20
@toc import(1), track(1), engage#profile-set(1), engage#profile-set-once(1), engage#profile-numerical-add(1), engage#profile-union(1), engage#profile-list-append(1), engage#profile-list-remove(1), engage#profile-unset(1), engage#profile-batch-update(1), engage#profile-delete(1), groups#group-set(1), groups#group-set-once(1), groups#group-unset(1), groups#group-remove-from-list(1), groups#group-union(1), groups#group-batch-update(1), groups#group-delete(1), lookup-tables(2)

@group import
@endpoint POST /import
@required {strict: str(0/1)=1, project_id: str=<YOUR_PROJECT_ID>}
@optional {Content-Type: str(application/json/application/x-ndjson)=application/json, Content-Encoding: str}
@returns(200) {code: int, num_records_imported: int, status: str}
@errors {400, 401, 413, 429}

@endgroup

@group track
@endpoint POST /track
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-set
@endpoint POST /engage#profile-set
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-set-once
@endpoint POST /engage#profile-set-once
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-numerical-add
@endpoint POST /engage#profile-numerical-add
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-union
@endpoint POST /engage#profile-union
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-list-append
@endpoint POST /engage#profile-list-append
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-list-remove
@endpoint POST /engage#profile-list-remove
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-unset
@endpoint POST /engage#profile-unset
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-batch-update
@endpoint POST /engage#profile-batch-update
@returns(200)
@errors {401, 403}

@endgroup

@group engage#profile-delete
@endpoint POST /engage#profile-delete
@returns(200)
@errors {401, 403}

@endgroup

@group groups#group-set
@endpoint POST /groups#group-set
@returns(200)
@errors {401, 403}

@endgroup

@group groups#group-set-once
@endpoint POST /groups#group-set-once
@returns(200)
@errors {401, 403}

@endgroup

@group groups#group-unset
@endpoint POST /groups#group-unset
@returns(200)
@errors {401, 403}

@endgroup

@group groups#group-remove-from-list
@endpoint POST /groups#group-remove-from-list
@returns(200)
@errors {401, 403}

@endgroup

@group groups#group-union
@endpoint POST /groups#group-union
@returns(200)
@errors {401, 403}

@endgroup

@group groups#group-batch-update
@endpoint POST /groups#group-batch-update
@returns(200)
@errors {401, 403}

@endgroup

@group groups#group-delete
@endpoint POST /groups#group-delete
@returns(200)
@errors {401, 403}

@endgroup

@group lookup-tables
@endpoint GET /lookup-tables
@required {project_id: str=<YOUR_PROJECT_ID>}
@returns(200) {code: num, status: str, results: [map]}
@errors {401}

@endpoint PUT /lookup-tables/{id}
@required {id: str(uuid), project_id: str=<YOUR_PROJECT_ID>}
@optional {Content-Type: str=text/csv}
@returns(200) {code: int, status: str}
@errors {400, 401, 404, 413, 429}

@endgroup

@end
