# List registrations

The endpoint receives as path param project id. Supports optional query parameters to narrow the results and cursor based pagination.

Endpoint: GET /v1/projects/{projectId}/registrations
Version: 1.0.0
Security: OAuth2

## Path parameters:

  - `projectId` (string, required)
    Customer's project id

## Query parameters:

  - `registrationState` (string)
    Status of the registration.
    Enum: "DRAFT", "IN_QUEUE", "IN_PROGRESS", "APPROVED", "REJECTED", "PENDING", "ON_HOLD", "PENDING_APPROVAL", "PENDING_ATTACHMENTS"

  - `tags` (array)
    User tags used for the registration. Tag have to start from
    Example: ["#tag1","#tag2"]

  - `marketCode` (string)
    Filter by ISO market code (ex. 'IT', 'AU', 'KW', etc.)
    Example: "MK"

  - `createDateFrom` (string)
    Date of registration creation, ISO 8601 format. Returns registrations created after given date.
    Example: "2024-11-03"

  - `createDateTo` (string)
    Date of registration creation, ISO 8601 format. Returns registrations created before given date.
    Example: "2024-11-03"

  - `updateDateFrom` (string)
    Date of registration update, ISO 8601 format. Returns registrations update after given date.
    Example: "2024-11-03"

  - `updateDateTo` (string)
    Date of registration update, ISO 8601 format. Returns registrations updated before given date.
    Example: "2024-11-03"

  - `senderId` (string)
    Sender ID value.
    Example: "sender ID"

  - `orderBy` (string)
    Ordering of the results: field name with an optional order separated by a comma. Fields that support ordering are 'id', 'status', 'senderId', 'createDate', 'updateDate' with possible ordering 'desc' or 'asc'
    Example: "senderId,asc"

  - `pageSize` (integer)
    Size of the page to be returned.
    Example: 100

  - `pageToken` (string)
    Page token to request subsequent pages when using pagination. This should be the value generated by a system in a previous list request.

  - `registrationType` (string)
    Registration type for market used in registration is for. There are different markets available depending on this type
    Enum: "ALPHANUMERIC_SENDER_ID", "LONG_NUMBER", "SHORT_CODE", "RCS_AGENT"

## Response 200 fields (application/json):

  - `nextPageToken` (string)
    Page token that can be used to retrieve next page of registrations if they exist. Will be empty if next page does not exist

  - `registrations` (array)
    List of registrations

  - `registrations.attachments` (array)
    Files attached to this registration

  - `registrations.attachments.attachmentId` (string)
    Unique identifier of the attachment.
    Example: "d1c7ccbf-919d-462f-8587-dec95a1b11ee"

  - `registrations.attachments.createTime` (string)
    Create time of the request. ISO date time format in UTC without timezone offset.
    Example: "2021-11-03T14:30:03"

  - `registrations.attachments.fileName` (string)
    Human readable name of the attachment.
    Example: "sender_id_registration_form.docx"

  - `registrations.attachments.mimeType` (string)
    MIME type of the attachment file.
    Example: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"

  - `registrations.attachments.updateTime` (string)
    Update time of the request. ISO date time format in UTC without timezone offset.
    Example: "2021-11-03T14:30:03"

  - `registrations.attachments.uploadStatus` (string)
    Status of the file uploaded
    Enum: "COMPLETED", "WAITING", "FAILED"

  - `registrations.attachments.documentType` (string)
    Type of document attached.
    Example: "Passport"

  - `registrations.callbackUrl` (string)
    Webhook URL to specify an endpoint for delivery of notifications about registration updates
    Example: "senderid.registrations.api.sinch.com"

  - `registrations.createTime` (string)
    Creation time of the request. ISO date time format in UTC without timezone offset.
    Example: "2021-11-03T14:30:03"

  - `registrations.etaDate` (string)
    Expected date of the registration approval. ISO date format.
    Example: "2024-11-03"

  - `registrations.id` (string)
    Unique registration identifier.
    Example: "d1c7ccbf-919d-462f-8587-dec95a1b11ee"

  - `registrations.logs` (array)
    Detailed history of the status changes this registration went through

  - `registrations.logs.createTime` (string)
    Create time of this log entry. ISO date time format in UTC
    Example: "2021-11-03T14:30:03"

  - `registrations.logs.message` (string)
    Optional message with details of the registration status update. Can contain information provided by the agent handling the request.
    Example: "Please update the attachment connected to your request."

  - `registrations.logs.registrationState` (string)
    State of the registration after this entry was created
    Example: "PENDING"

  - `registrations.notificationContacts` (array)
    Email addresses that will be notified of any status changes of the registration.
    Example: ["jane.doe@example.com","john.doe@example.com"]

  - `registrations.owner` (string)
    Display name of the user that created the registration.
    Example: "Jane Doe"

  - `registrations.policyId` (string)
    Unique identifier of the policy for this registration.
    Example: "d1c7ccbf-919d-462f-8587-dec95a1b11ee"

  - `registrations.price` (object)

  - `registrations.price.currency` (string)
    Currency of the fees
    Example: "USD"

  - `registrations.price.frequency` (integer)
    Recurrent subscription period in month, 0 if no subscription fees
    Example: 1

  - `registrations.price.mode` (string)
    Type of policy pricing.
    Enum: "SUBSCRIBED", "MANUAL", "NONE"

  - `registrations.price.recurrentFeeAmount` (string)
    Recurrent subscription fee amount
    Example: "2"

  - `registrations.price.setupFeeAmount` (string)
    One time setup fee amount
    Example: "5"

  - `registrations.registrationType` (string)
    Specify the sender ID type
    Enum: same as `registrationType` (4 values)

  - `registrations.requestDetails` (array)
    Details of the sender IDs to be registered. Details depend on the specific market requirements defined in the policy.

  - `registrations.requestDetails.additionalDetails` (array)
    Additional details required for this registration, e.g. company details, contact information or market specific details (only in RCS). Schema and content depend on the specific market requirements defined in the policy Json format is '{key:value, key:value}' with types like string, array, array of objects
    Example: [{"email":"email@mycompany.com"},{"companyName":"My Company Name","website":"https://www.mycompany.com"}]

  - `registrations.requestDetails.senderIdDetails` (array)
    Data related to the sender ID values requested in this registration. Schema and content depend on the specific market requirements defined in the policy. Json format is '{key:value, key:value}' with types like string, array, array of objects
    Example: [{"sender":"a sender value"}]

  - `registrations.senderIds` (array)
    List of sender IDs associated with this registration. If sender IDs are not provided in the request, they will be assigned after registration approval.
    Example: ["senderId1","senderId2"]

  - `registrations.status` (string)
    Status of the registration.
    Enum: same as `registrationState` (9 values)

  - `registrations.tags` (array)
    User tags used for the registration. Tag have to start from '#' and contains only alphanumerics and dashes.
    Example: ["#myTag1","#myTag2"]

  - `registrations.updateTime` (string)
    Update time of the request. ISO date time format in UTC without timezone offset.
    Example: "2021-11-03T14:30:03"

  - `registrations.servicePlanId` (string)
    Service plan ID or System ID that the registration applies to. When included, the sender id will be configured linked to the service/system plan.
    Example: "a23dccbf-919d-462f-8587-dec95a1b44de"

  - `totalSize` (integer)
    Total count of registrations matching provided search criteria

## Response 500 fields (application/json):

  - `error` (object)

  - `error.code` (integer)

  - `error.details` (array)

  - `error.message` (string)

  - `error.status` (string)


## Response 403 fields
